如何在Ag-Grid中的onGridReady上有效地隐藏整个列组?

时间:2019-09-19 02:07:34

标签: ag-grid

我期望“ hide:true”也会对(父)组列的cocolumnDefs起作用,就像它对单个子columnDefs的作用一样,但这不是事实。

我尝试了几种方法来实现这一目标。但是,这些方法似乎都不高效,并且会增加大量的加载时间以显示网格数据。

1)隐藏:每个孩子的columnDefs中为true。但是我的网格中有许多子列,因此此选项将无效。

2)(第一个选项的基本动态方法)通过columnApi.getAllDisplayedColumnGroups()获取所有显示列组,然后使用条件和使用的columnApi.setColumnVisible()遍历该结果。

这是我对第二个选项所做的:

   onGridReady: function (params) {
      const getAllDisplayedColumnGroups = params.columnApi.getAllDisplayedColumnGroups();
      getAllDisplayedColumnGroups.forEach(element => {
        if (["Group Column Name"].includes(element.originalColumnGroup.colGroupDef.headerName)) {
          element.children.forEach(child => {
            params.columnApi.setColumnVisible(child.colDef.headerName, false);
          });
        }
      });
    }

0 个答案:

没有答案