是否有任何已实现的功能可以有条件地隐藏行?
我像这样实例化它们:
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;
然后我提供此功能来设置行高:
this.gridOptions.getRowHeight = (params) => {
return params.data.height;
}
这不是一个完美的解决方案,特别是因为如果网格以高度为0的行结束,则无论如何都会显示该行(高度为4px左右)
答案 0 :(得分:2)
我认为最好的方法是根据对象的属性isVisible
过滤数据。
实施可能是:
gridOptions.isExternalFilterPresent = () => {return true;}
gridOptions.doesExternalFilterPass = (node) => {
return gridOptions.api.getValue("isVisible", node)
}
如果数据模型数据发生变化,那么您只需要调用gridOptions.api.onFilterChanged()
答案 1 :(得分:0)
作为将行高设置为0时4px问题的解决方法,我建议你也使用
gridOptions.getRowStyle = function(params) {
//some filter
return { 'display': 'none' };
}