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