我正在使用 GridX 来显示数据,但我经常更改 GridX 正在使用的数据存储。我通过使用grid.setStore()
并传入一个 Dojo JsonStore 来做到这一点(这当然是异步数据)。每次更改数据存储时,我都不会重新创建网格,只需调用setStore()
, 然后refresh()
.
网格还激活了 NestedSort 模块。我的问题是这样的:
如果用户对商店进行排序,然后选择一组不同的数据进行查看,代码调用:
grid.sort.clear();
grid.setStore( /* new store*/ );
grid.refresh();
在不.clear()
被调用的情况下,网格将尝试对新存储的数据进行排序(这通常是无效的,并抛出 500)。
使用.clear()
,存储将调用服务器对第一个数据存储进行排序,然后再调用下一个数据存储的新批次。
理想情况下,我想告诉网格在获取下一组数据之前清除任何排序首选项,这样它就不会尝试对其进行排序。我不希望它在被替换之前立即对第一个数据进行额外调用。