我有一个在角度应用程序中使用ag-grid的表。我有一列需要为其添加过滤器。此列是一个数组,每个记录可以有多个记录。请找到附件。当我过滤REPORT 1时,由于REPORT 2也是该行的一部分,因此将显示它。您能否让我知道如何过滤以仅获取报告1?
{
headerName: 'Available Reports',
field: 'reportTypes',
cellRendererFramework: LinkComponentComponent,
width: 1020,
filter: "agSetColumnFilter",
keyCreator: this.reportKeyCreator ,
filterParams: {
cellHeight: 20,
debounceMs: 1000,
selectAllOnMiniFilter: true
}
}
reportKeyCreator(params) {
return params.value[0].reportType;
}
这是数据结构
[
{
"Name": "ABCD-126",
"reportDate": "10-02-2018",
"reportTypes": [
{
"reportType": "REPORT1",
"reportPath": "report1",
"reportNum": "114"
}
]
},
{
"Name": "ABCD-126",
"reportDate": "10-01-2018",
"reportTypes": [
{
"reportType": "REPORT1",
"reportPath": "report1",
"reportNum": "115"
},
{
"reportType": "REPORT2",
"reportPath": "report2",
"reportNum": "116"
}
]
}
]
答案 0 :(得分:0)
您可以创建自己的customFitler
并在内部处理所需的内容,但是
我想您需要按单元划分复杂的对象,并获得可以使用HeaderGroupping的分组概念。
这是一种更正确的方法。
{
headerName: "Reports",
children: [
{headerName: "Type", field: "reportType"},
{headerName: "Path", field: "reportPath"},
{headerName: "Num", field: "reportNum"}
]
}