【发布时间】:2018-11-05 02:00:08
【问题描述】:
我正在尝试在更新一行后保留网格的过滤器。
当我单击网格中的一行时,我会打开一个对话框,在其中更新该行的信息,然后在网格的 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'}
但这些都不起作用。
我该如何解决这个问题?
【问题讨论】:
-
网格后,使用 getFilterInstance(
) 再次应用过滤器 -
显示您的
updateGrid函数和任何其他相关代码。您可能需要以不同的方式进行更新。 ag-grid.com/javascript-grid-data-update -
@thirtydot 请检查我的编辑。
-
好吧,如果你想保留你的过滤器选择,你不能使用
setRowData,这是我之前评论中链接的引用:“当你调用 api.setRowData(newData) 时,网格丢弃所有先前的选择和过滤器,并用新数据完全覆盖旧数据。”。通读docs 并查看演示/代码以找到解决方案。如果您需要更多帮助,请告诉我,我会写一个答案。
标签: javascript angularjs ag-grid