显示多列数据的 ag-grid 单元渲染器
ag-grid cell renderer that shows data from multiple columns
我正在尝试创建一个将从其他列获取数据的单元格渲染器。
例如,每一行表示一些数据,用户应该能够根据他们的权限打开它,并且受限数据应该与非受限元素呈现不同的方式。其他列也会影响呈现这一列。
我希望能够使用路径 this.params.node.data.restricted
访问其他列的数据,这在点击事件期间有效,但我似乎无法在呈现期间访问这些数据组件的相位。
"columnDefs": [
{
"field": "id",
"width": 40,
"checkboxSelection": true
},
{
"headerName": "Title",
"field": "docTitle",
"width": 1580,
"cellRenderer": "detailViewRenderer"
}
]
import {Component} from "@angular/core";
import {ICellRendererAngularComp} from "ag-grid-angular";
@Component({
selector: 'detail-view-renderer',
styles: [``],
template: `
<a class="restricted" *ngIf="params.node.data.restricted">{{params.value}}</a>
<a class="not-restricted" *ngIf="!params.node.data.restricted">{{params.value}}</a>
`
})
export class DetailViewRendererComponent implements ICellRendererAngularComp {
public params: any;
agInit(params: any): void {
this.params = params;
}
constructor() {}
refresh(): boolean {
return false;
}
}
我认为理想情况下,我想做的是设置将传递到我的渲染器的列,并以某种方式在组件中将它们作为参数访问。这可能吗,或者我们有其他解决方法吗?我将 Full Width Rows 视为一个选项,但它会将整行呈现为一列。
我认为您可以使用 params.data.restricted
而不是 params.node.data.restricted
来访问其他行属性。
例如,
method() {
const detailViewRenderer = params => {
return `<span>${params.data.restricted}</span>`;
};
this.columnDefs: [
{
"field": "id",
"width": 40,
"checkboxSelection": true
},
{
"headerName": "Title",
"field": "docTitle",
"width": 1580,
"cellRenderer": "detailViewRenderer"
}
]
}
如果您仍在寻找答案,可以使用 rowNode.columnApi.resetColumnState()
我正在尝试创建一个将从其他列获取数据的单元格渲染器。
例如,每一行表示一些数据,用户应该能够根据他们的权限打开它,并且受限数据应该与非受限元素呈现不同的方式。其他列也会影响呈现这一列。
我希望能够使用路径 this.params.node.data.restricted
访问其他列的数据,这在点击事件期间有效,但我似乎无法在呈现期间访问这些数据组件的相位。
"columnDefs": [
{
"field": "id",
"width": 40,
"checkboxSelection": true
},
{
"headerName": "Title",
"field": "docTitle",
"width": 1580,
"cellRenderer": "detailViewRenderer"
}
]
import {Component} from "@angular/core";
import {ICellRendererAngularComp} from "ag-grid-angular";
@Component({
selector: 'detail-view-renderer',
styles: [``],
template: `
<a class="restricted" *ngIf="params.node.data.restricted">{{params.value}}</a>
<a class="not-restricted" *ngIf="!params.node.data.restricted">{{params.value}}</a>
`
})
export class DetailViewRendererComponent implements ICellRendererAngularComp {
public params: any;
agInit(params: any): void {
this.params = params;
}
constructor() {}
refresh(): boolean {
return false;
}
}
我认为理想情况下,我想做的是设置将传递到我的渲染器的列,并以某种方式在组件中将它们作为参数访问。这可能吗,或者我们有其他解决方法吗?我将 Full Width Rows 视为一个选项,但它会将整行呈现为一列。
我认为您可以使用 params.data.restricted
而不是 params.node.data.restricted
来访问其他行属性。
例如,
method() {
const detailViewRenderer = params => {
return `<span>${params.data.restricted}</span>`;
};
this.columnDefs: [
{
"field": "id",
"width": 40,
"checkboxSelection": true
},
{
"headerName": "Title",
"field": "docTitle",
"width": 1580,
"cellRenderer": "detailViewRenderer"
}
]
}
如果您仍在寻找答案,可以使用 rowNode.columnApi.resetColumnState()