我试图在更新行后保留网格的筛选器。
当我单击网格中的一行时,会打开一个对话框,在其中更新该行的信息,然后在网格的rowData中查找被单击的行,之后,我将rowData中的值更新为对应的记录。对话框,如下所示:
row[0].x = dg.x;
row[0].y = dg.y;
dg.gridOptions.rowData[index] = row[0];
dg.gridOptions.api.setRowData(newRows);
但是之后,我松开了网格上的过滤器,进行了一些搜索,然后尝试了以下所有解决方案:
gridOptions
属性deltaRowDataMode
设置为true
。 filterParams: {apply: true, newRowsAction: 'keep'}
但是这些都不起作用。
我该如何解决?
最佳答案
使用此方法(gridOptions.api.refreshCells()
)代替setRowData
。或者,如果您需要使用setRowData
,请在调用之前保存过滤器模型,然后使用以下方法再次应用过滤器:
const model = this.gridOptions.api.getFilterModel();
//some code
this.gridOptions.api.setFilterModel(model);