我计划使用AG Grid显示网格。但是我有一种用例是关于这种数据结构的:
get gridOptions(): GridOptions {
return {
...this.options,
defaultColDef: this.defaultColumnDefs,
columnDefs: this.columnDefs,
enableCharts: false,
treeData: true,
getDataPath: this.dataPath
};
}
get columnDefs(): Array<{children?: Array<_ColDef>; skipKey?: boolean;}> {
return [
{
headerName: 'Component',
children: this.columnDefs_component
}
];
}
get columnDefs_component(): Array<{children?: Array<_ColDef>; skipKey?: boolean;}> {
return [
{
headerName: 'Component',
field: 'componentName'
},
{
headerName: 'Model',
field: 'model'
},
{
headerName: 'Rules',
children: this.columnDefs_rules
}
];
}
get columnDefs_rules(): Array<{children?: Array<_ColDef>; skipKey?: boolean;}> {
return [
{
headerName: 'Id',
field: 'rules.ruleId',
},
{
headerName: 'Limit Value',
field: 'rules.value'
},
{
headerName: 'Precondition',
field: 'rules.precondition'
}
];
}
我很难将规则显示为组件的嵌套行。到目前为止,如果规则是单个嵌套对象,我就可以创建网格,但是当需要处理数组对象时,我的逻辑就会中断。
我正在使用以下代码指定列的定义:
valueGetter
使用上述方法,与嵌套规则对象数组相关的单元格上将不显示任何内容。我可以使用object Object
并设置一个函数来返回对象数组,但是它将显示'rules.0.field'
的列表,而不是rules对象的值。
我所缺少的是如何告诉Ag-Grid规则列是Rule节点内的Rule Objects数组。
有人可以向我指出如何实现这一目标的方法吗?
注意:我可以通过将字段设置为show()
来显示一条记录,但这只会显示数组的第一个值,而不显示其他值...