GridX在不提出新请求的情况下清除排序

时间:2015-07-01 15:38:28

标签: javascript sorting dojo gridx

我使用GridX来显示数据,但我经常更改GridX正在使用的数据存储。我这样做是通过使用grid.setStore()并传入Dojo JsonStore(当然这是异步数据)。每次更改数据存储时,我都不会重新创建网格,只需调用setStore(),然后调用refresh()

网格也激活了NestedSort模块。我的问题是:

如果用户对商店进行排序,然后选择一组不同的数据来查看,则代码会调用:

grid.sort.clear();
grid.setStore( /* new store*/ );
grid.refresh();

如果没有.clear()被调用,网格将尝试对新商店数据进行排序(通常无效,并抛出500)。

使用.clear(),商店将调用服务器对第一个数据存储进行排序,然后再调用新批次的下一个数据存储。

理想情况下,我想在获取下一组数据之前告诉网格清除任何排序首选项,以便它不会尝试对其进行排序。我不希望它在更换前立即对第一个数据进行额外调用。

1 个答案:

答案 0 :(得分:0)

我终于解决了。要清除网格中的排序信息,您必须修改网格模型。网格模型中的排序可以使用以下方法完成:

grid.model.sort();