我期望“ 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);
});
}
});
}