在 ag-grid 我有一个结构如下的表:
| Temperature | ....
-----------|------|------|------|---------
Date | min | avg | max | ....
-----------|------|------|------|---------
2017-03-01 | 19.5 | 20.2 | 22.0 | ....
2017-03-02 | 18.8 | 20.4 | 21.6 | ....
我希望能够隐藏整个温度列组,我这样做:
- 按名称获取列组
columnApi.getColumnGroup(groupId)
- 获取列子项
getChildren()
- 循环遍历所有元素并根据列可见性状态隐藏/显示
隐藏部分工作正常,但是当我想再次显示列时,该getColumnGroup
方法返回一个null
对象,我无法将列设置为再次可见。有任何想法吗?
整个代码(Angular2 组件的一部分)如下所示:
toggleColumn(groupId: string) {
let groupColumn = this.dataGridOptions.columnApi.getColumnGroup(groupId);
let children = groupColumn.getChildren();
for (let idx = 0; idx < children.length; idx++) {
let colId: string = children[idx].getUniqueId();
let colState = this.dataGridOptions.columnApi.getColumn(colId);
let colVisibility = colState.isVisible();
this.dataGridOptions.columnApi.setColumnVisible(colId, !colVisibility);
}
}