Ag-Grid:应用过滤器后如何保存和重新加载列
Ag-Grid: How to save and reload column after applying filter
使用Ag-Grid,我们可以应用过滤列。我需要允许用户保存列过滤器顺序(在 sql 后端)。
我使用这种方法,但它允许保存列顺序..
onGridReady: function(params){
var columnState = JSON.parse(localStorage.getItem('myColumnState'));
var filterState = JSON.parse(localStorage.getItem('myfilterState'));
if (columnState) {
params.columnApi.setColumnState(columnState);
}
if (filterState) {
params.columnApi.setsetFilterModel(filterState);
}
},
onColumnMoved: function(params){
var columnState = JSON.stringify(params.columnApi.getColumnState());
var filterState = JSON.stringify(params.columnApi.getFilterModel());
localStorage.setItem('myColumnState', columnState);
localStorage.setItem('myfilterState', filterState);
},
从你的例子来看,getFilterModel()
不是 columnApi 的一部分,你应该像下面那样做
在 onColumnMoved
中保存状态时:
var filterState = JSON.stringify(params.api.getFilterModel()); // it is in gridApi
localStorage.setItem('myfilterState', filterState);
从 onGridReady
中保存的状态读回:
params.api.setFilterModel(filterState);
您可以从文档中遵循此 example。
使用Ag-Grid,我们可以应用过滤列。我需要允许用户保存列过滤器顺序(在 sql 后端)。 我使用这种方法,但它允许保存列顺序..
onGridReady: function(params){
var columnState = JSON.parse(localStorage.getItem('myColumnState'));
var filterState = JSON.parse(localStorage.getItem('myfilterState'));
if (columnState) {
params.columnApi.setColumnState(columnState);
}
if (filterState) {
params.columnApi.setsetFilterModel(filterState);
}
},
onColumnMoved: function(params){
var columnState = JSON.stringify(params.columnApi.getColumnState());
var filterState = JSON.stringify(params.columnApi.getFilterModel());
localStorage.setItem('myColumnState', columnState);
localStorage.setItem('myfilterState', filterState);
},
从你的例子来看,getFilterModel()
不是 columnApi 的一部分,你应该像下面那样做
在 onColumnMoved
中保存状态时:
var filterState = JSON.stringify(params.api.getFilterModel()); // it is in gridApi
localStorage.setItem('myfilterState', filterState);
从 onGridReady
中保存的状态读回:
params.api.setFilterModel(filterState);
您可以从文档中遵循此 example。