dojox.grid.DataGrid-在排序和分页时维护行选择

dojox.grid.DataGrid-在排序和分页时维护行选择,dojo,dojox.grid.datagrid,Dojo,Dojox.grid.datagrid,我使用dojox.grid.DataGrid来显示数据,并允许用户选择一行或多行以突出显示要执行其他操作的项目 我的问题是网格使用索引来记住选定的行。如果启用了clientSort,则对行进行排序会改变行的顺序,但在排序之前,选择将更改为现在占用选择索引的行 为了解决这一问题,我在每次选择更改时获取所选行的项目,然后当onSort事件发生时,我对所选项目集合中的每个项目使用getItemIndex(项目)来获取新行索引,并使用这些索引重新选择 现在,我的问题是DataGrid一次加载一定数量的行

我使用dojox.grid.DataGrid来显示数据,并允许用户选择一行或多行以突出显示要执行其他操作的项目

我的问题是网格使用索引来记住选定的行。如果启用了clientSort,则对行进行排序会改变行的顺序,但在排序之前,选择将更改为现在占用选择索引的行

为了解决这一问题,我在每次选择更改时获取所选行的项目,然后当onSort事件发生时,我对所选项目集合中的每个项目使用getItemIndex(项目)来获取新行索引,并使用这些索引重新选择

现在,我的问题是DataGrid一次加载一定数量的行(它使用术语页定义一组行)以提高性能。当进行排序时,它会以新的排序顺序重新加载数据,但最多只能加载rowsPerPage值(默认值为40)。当我尝试对新行尚未加载到网格中的项使用getItemIndex时,它返回的值和索引为-1。getItemIndex()函数仅在用户向下滚动并加载行时返回索引

我找不到在加载页面以尝试还原选择时触发的事件。我已经浏览了1.3.2源代码,没有找到任何东西。我曾尝试连接到许多私人功能,但都不起作用

有没有人遇到这个问题并找到了解决办法


提前谢谢。

我找到了答案。dojox.grid.DataGrid有一个私有事件(_onFetchComplete),每次下一页请求时都会触发该事件。我使用setTimeout在持续300秒后运行还原功能

工作完成了