将dojox.grid.EnhancedGrid中的已排序或已删除行与dojo.data.ItemFileWriteStore进行比较

时间:2012-08-01 23:40:18

标签: dojo

我已经搜索了dojo文档,堆栈溢出,以及使用firebug彻底探索了EnhancedGrid对象本身,我找不到答案。

我有一个增强的网格,我填充了用户要排序的值,基本上创建了一个选择集(使用indirectSelection插件)。然后他们有一个按钮可以缩放到地图上的选定项目。

问题是,在对列进行排序时,它不会更改商店本身中项目的顺序,我在每个项目中保留一个对象,告诉我如何放大地图,所以我没有将grid.selection.selected数组索引与store._arrayOfAllItems索引进行协调的方法。

编辑:请注意,我使用的是Dojo 1.6,因为它已经融入了我正在使用的API中。

1 个答案:

答案 0 :(得分:0)

查看Dojo Object Store Tutorial

您可以将idProperty设置为Store,例如:

var employeeStore = new dojo.store.Memory({data:employees, idProperty: "name"});

然后您可以使用get方法操作具有该id属性的商店:

// add a new employee
employeeStore.add({name:"George", department:"accounting"});
// remove Bill
employeeStore.remove("Bill");
// retrieve object with the name "Jim"
var jim = employeeStore.get("Jim");

而不是使用store._arrayOfAllItems。这样,您的grid.selection对象将包含您的id的值而不是数组索引(假设您的网格的store属性是您的商店)。这是我猜测的部分,因为我确信新道场的dgrid就是这样做的,我鼓励你使用BTW。

希望它有所帮助,