我有一个要向其中添加agGrid表的角度应用程序。我将表配置为允许对行进行分组,如下所示:
<ag-grid-angular
[columnDefs]="columnDefs"
[rowData]="activeMethods"
[groupDefaultExpanded]="-1"
[rowGroupPanelShow]="'always'"
>
</ag-grid-angular>
然后将某些列设置为可分组,如下所示:
enableRowGroup: true,
enablePivot: true,
这显示了行组面板,并允许将我拖动到其中的列进行分组,但是问题是我拖动到面板中的“不可分组”列被隐藏了。我需要将这些列拖动到此处时不要隐藏。我知道suppressDragLeaveHidesColumns
参数在从表中拖动时禁止隐藏任何列,但是我希望在拖动到“组”面板时仍然隐藏“可分组”列。我想实现的目标容易实现吗?
答案 0 :(得分:1)
您可以保留suppressDragLeaveHidesColumns
以防止在将非分组列拖动到网格之外时将其隐藏,然后利用Grid Event columnRowGroupChanged
将要分组的列更改为隐藏。您可以找到documentation for this here。
在版本24中,可以使用列applyColumnState
(在this can be found here上的文档)中轻松实现这一点
将所有内容放在一起:
onColumnRowGroupChanged(params) {
let columnStateParams = [];
params.columns.forEach(col => {
columnStateParams.push({ colId: col.getColId(), hide: true });
});
params.columnApi.applyColumnState({
state: columnStateParams,
});
}
我已经创建了一个Plunker showing this
“年和国家”列只能分组,“运动员”和“年龄”列不能分组。