首页 > 解决方案 > Ag-Grid:应用过滤器后如何保存和重新加载列

问题描述

使用 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);
},

标签: jquerycodeigniterfilterag-grid

解决方案


从您的示例来看,getFilterModel()它不是 columnApi 的一部分,而是您应该执行以下操作

同时保存状态onColumnMoved

  var filterState = JSON.stringify(params.api.getFilterModel()); // it is in gridApi
  localStorage.setItem('myfilterState', filterState);

从保存的状态回读onGridReady

params.api.setFilterModel(filterState);

您可以按照文档中的此示例进行操作。


推荐阅读