Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs Sencha Touch:动态更新grouper功能_Extjs_Sencha Touch_Sencha Touch 2_Grouping_Sencha Touch 2.1 - Fatal编程技术网

Extjs Sencha Touch:动态更新grouper功能

Extjs Sencha Touch:动态更新grouper功能,extjs,sencha-touch,sencha-touch-2,grouping,sencha-touch-2.1,Extjs,Sencha Touch,Sencha Touch 2,Grouping,Sencha Touch 2.1,我有一个sencha touch 2.3应用程序,它有一个分组列表- grouped: true, grouper函数在存储中定义- grouper: { groupFn: function(record) { return record.get('name'); } } 这一切都很好。现在,在运行时,我想更新grouper函数,例如:通过其他一些记录属性(如location)对其进行分组 如何动态地执行此操作 我计划在用户点击按钮时更新grouper函数(例

我有一个sencha touch 2.3应用程序,它有一个分组列表-

grouped: true,
grouper函数在存储中定义-

grouper: {
    groupFn: function(record) {
        return record.get('name');
    }
}
这一切都很好。现在,在运行时,我想更新grouper函数,例如:通过其他一些记录属性(如location)对其进行分组

如何动态地执行此操作

我计划在用户点击按钮时更新grouper函数(例如:用户希望查看按位置分组的记录列表)


如何实现这一点?

我相信您可以使用Store类提供的setGrouper方法:

您只需再次指定gouper:

yourStore.setGrouper({
    groupFn : function(record) {
        return record.get('location');
    }
});

您可能必须手动刷新列表,因为我不认为有此更改引发的事件,并且该事件被列表捕获以重新绘制。

不知道是否支持此操作,但方法可能是:
Ext.getStore().getGrouper().setGroupFn(function(){/*new grouping logic*/})@Anubis,非常接近。。下面的答案很有魅力。谢谢!!正是我想要的!!