【问题标题】:Ag-grid hiding rowsAg-grid 隐藏行
【发布时间】:2017-12-04 06:44:59
【问题描述】:

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

我这样实例化它们:

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 左右)

【问题讨论】:

  • 您可以为isVisible 列创建过滤器

标签: ag-grid ag-grid-ng2


【解决方案1】:

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

一个实现可以是:

gridOptions.isExternalFilterPresent = () => {return true;}
gridOptions.doesExternalFilterPass = (node) => {
    return gridOptions.api.getValue("isVisible", node)
}

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

【讨论】:

  • 我还必须使用 gridOptions.api.onFilterChanged()
【解决方案2】:

作为将行高设置为 0 时 4px 问题的解决方法,我建议您也使用

gridOptions.getRowStyle = function(params) {
            //some filter
            return { 'display': 'none' };
        }

【讨论】:

  • 它隐藏了行但给了黑色空间
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 2020-06-22
  • 2020-04-12
  • 2021-03-12
  • 2019-10-18
相关资源
最近更新 更多