【问题标题】:Dojo enhancedgrid sorting problemDojo 增强的网格排序问题
【发布时间】:2011-08-14 06:55:14
【问题描述】:
我正在使用带有间接选择插件的 Dojo 增强网格 (1.6) 来生成复选框。我遇到了行选择和排序问题。
这是重现问题的方法:
- 选中前 2 行的复选框
- 通过单击列对网格进行排序
- 行的排序顺序发生变化,但前 2 行仍处于选中状态,选中标记不随行移动。
这个问题在 dataGrid 和 enhancedGrid 中都存在,甚至在 Dojo 示例页面上也是如此。
这是一个错误还是有办法让复选框在排序时随行移动?
【问题讨论】:
标签:
dojo
dojox.grid.datagrid
【解决方案1】:
希望这仍然有帮助。
我遇到了同样的问题,发现它已经解决并打了补丁……(至少从 dojo 1.6 版开始)
简而言之,您唯一需要做的就是这个。
[在您的 EnhancedGrid 中] 将 'keepSelection' 属性设置为 true,
例如
<div dojoType="dojox.grid.EnhancedGrid" keepSelection = true .../>
另外,请注意有一个前提条件:store需要Identifier(id),因为id用于区分行项
就是这样!现在网格中的任何排序、过滤或分页操作都将保留选择!
更多信息在这里:
http://bugs.dojotoolkit.org/ticket/10855
注意:我使用的是 dojo 版本 1.6,其中提到的补丁已经应用于 dojo 文件,因此您不需要应用此类补丁,只需将属性添加到网格,(并确保您的商店是由 id 标识。)
【解决方案2】:
是的,确实如此。
我用的是dojo 1.7.1 release 还是有这个问题
更重要的是,当使用
grid.rowSelectCell.setDisabled(0, true),
然后使用
dijit.byId("dataGrid").rowSelectCell.toggleAllSelection(true);
禁用的复选框仍将被选中。
糟糕,使用
gridDomNode.selection.getSelected();
仍然会选择带有禁用复选框的行