0
我得到了一个网格,带有复选框插件和分页。Slickgrid:复选框+分页:所有页面的getSelectedRows,而不仅仅是当前的一个
我只能选择当前页面的选定行,而不是所有行。如何做到这一点?
我搜索的代码,试图找到全局阵列slickgrid正在选定行进入一个新的页面(dataView.syncGridSelection(grid, true)
)的时候,却没有管理这样到现在...
感谢您的帮助。
我得到了一个网格,带有复选框插件和分页。Slickgrid:复选框+分页:所有页面的getSelectedRows,而不仅仅是当前的一个
我只能选择当前页面的选定行,而不是所有行。如何做到这一点?
我搜索的代码,试图找到全局阵列slickgrid正在选定行进入一个新的页面(dataView.syncGridSelection(grid, true)
)的时候,却没有管理这样到现在...
感谢您的帮助。
您可以订阅onPagingInfoChanged
事件 - 当您导航到新页面时触发事件 - 然后将选定的行从该页面存储到全局数组中供您参考。
dataView.onPagingInfoChanged.subscribe(function(e,pagingInfo) {
console.log(grid.getSelectedRows());
// add selected rows to a global array
}
注:进一步你所提到的,在grid.getSelectedRows()
返回的行数相对可见行。因此,第2页上的行将从0开始。我建议取而代之将该行的id
并将其存储在全局数组中(您知道,数据视图中的每一行应具有哪一行并且哪一行是唯一的)。
希望这给你一个开始。让我知道如果这有帮助!
那正是我所做的。我正在监听onSelectedRowsChanged事件,并从那里填充全局数组。感谢您的回答和帮助。我认为这种行为需要进入fw。开发人员需要掌握全局列表,才能运行批量操作。 – neoswf 2012-07-19 14:56:32
我正在检查每个复选框单击的原因是启用或禁用批量操作按钮。在切换页面之前,用户可以始终取消选中所有复选框。 – neoswf 2012-07-19 15:13:33
非常欢迎你! SlickGrid设计是为了保持内存中只有可见的行 - 我认为这是如此之快。我认为这就是以这种方式实施的原因。有趣的是,尽管玩 - 但我们有特殊需求的解决方法! :) – ganeshk 2012-07-19 15:24:21