我创建了一个自定义的浮动过滤器,其中包含一个“删除过滤器”按钮。单击该按钮,我要保存最后一个过滤器选项。
this.removeButton.addEventListener('click',
function () {
var filterComponent = params.api.getFilterInstance(params.column.colId);
var colState = params.column.columnApi.getColumnState();
var cols = params.column.columnApi.getAllGridColumns();
var grpState = params.column.columnApi.getColumnGroupState();
var colDef = [];
for (var i = 0; i < cols.length; i++) {
if (cols[i].colId === params.column.colId) {
cols[i].colDef.filterParams.defaultOption = filterComponent.filter;
}
colDef.push(cols[i].colDef);
}
if (typeof filterComponent.selectEverything === 'function') {
filterComponent.selectEverything();
} else {
filterComponent.setModel(null);
}
params.api.onFilterChanged();
params.api.setColumnDefs(colDef);
params.column.columnApi.setColumnState(colState);
params.column.columnApi.setColumnGroupState(grpState);
}
);
已正确重置列并保留过滤器选项。不幸的是,列组没有保留,因为列组不再显示在网格中。
如何还原列组?