Ag-grid 隐藏行

Jak*_*uda 4 ag-grid ag-grid-ng2

是否有任何实现的功能来有条件地隐藏行?

我像这样实例化它们:

let rows = [
    { name: "Adam", isVisible: true },
    { name: "Bert", isVisible: true },
    { name: "Carl", isVisible: false }
];

for(let row of rows)
  row["height"] = row.isVisible ? 25 : 0;

this.rowData = rows;
Run Code Online (Sandbox Code Playgroud)

然后我提供这个函数来设置行高:

this.gridOptions.getRowHeight = (params) => {
    return params.data.height;
}
Run Code Online (Sandbox Code Playgroud)

这不是一个完美的解决方案,特别是因为如果网格以一行高度为 0 结束,它无论如何都会显示该行(高度为 4px 左右)

小智 6

我认为最好的方法是根据isVisible对象的属性过滤数据。

一个实现可以是:

gridOptions.isExternalFilterPresent = () => {return true;}
gridOptions.doesExternalFilterPass = (node) => {
    return gridOptions.api.getValue("isVisible", node)
}
Run Code Online (Sandbox Code Playgroud)

如果数据模型数据发生变化,那么您只需要调用 gridOptions.api.onFilterChanged()