ExtJS 4.2.1中的网格分组和排序

ExtJS 4.2.1中的网格分组和排序,extjs,extjs4.2,Extjs,Extjs4.2,我尝试使用类似以下示例的分组实现网格: 在这里,数据按“courine”列分组,并按此列排序相应的分组。 当我将这个示例的代码粘贴到一个使用4.2.1的项目中,或者在ExtJS 4.2.1文档站点的代码编辑器中时,视图是完全相同的,对“Name”列进行排序,但对“courine”列不起作用。 他们是否在4.2.1中删除了分组列排序?如果没有,如何使其工作?相同的示例出现在4.2.1 SDK中,实际上,按分组列排序不再有效。我觉得这是一种倒退,你应该通知森查 编辑: 这是已更改的方法Ext.dat

我尝试使用类似以下示例的分组实现网格: 在这里,数据按“courine”列分组,并按此列排序相应的分组。 当我将这个示例的代码粘贴到一个使用4.2.1的项目中,或者在ExtJS 4.2.1文档站点的代码编辑器中时,视图是完全相同的,对“Name”列进行排序,但对“courine”列不起作用。
他们是否在4.2.1中删除了分组列排序?如果没有,如何使其工作?

相同的示例出现在4.2.1 SDK中,实际上,按分组列排序不再有效。我觉得这是一种倒退,你应该通知森查

编辑:

这是已更改的方法
Ext.data.Store#sort
的代码。恢复以前的版本会修复这些行为(请参阅我的注释以查找修改的行):

Ext.define(空{
覆盖:“Ext.data.Store”
,分拣:功能(分拣机、方向、位置、分拣){
var me=这个,
分拣机,
新闻记者;
if(分机isArray(分拣机)){
doSort=其中;
式中=方向;
新闻分拣机=分拣机;
}
否则如果(分机isObject(分拣机)){
doSort=其中;
式中=方向;
新闻分拣机=[分拣机];
}
else if(分机isString(分拣机)){
分拣机=me.sorter.get(分拣机);
如果(!分拣机){
分拣机={
财产:分拣机,
方向:方向
};
新闻分拣机=[分拣机];
}
else if(方向===未定义){
toggle();
}
否则{
分拣机设置方向(方向);
}
}
if(newsorter&&newsorter.length){
newSorters=me.decodeSorters(newSorters);
if(外部isString(其中)){
如果(其中=='prepend'){
//<来自4.2.1的代码>
//me.sorters.insert(0,newSorters);
//
//<来自4.2.0的代码>
sorter=me.sorter.clone().items;
me.sorter.clear();
me.sorter.addAll(newsorter);
me.sorter.addAll(分拣机);
//
}
否则{
me.sorter.addAll(newsorter);
}
}
否则{
me.sorter.clear();
me.sorter.addAll(newsorter);
}
}
如果(doSort!==false){
me.firevent('beforesort',me,newsorter);
me.onBeforeSort(新闻分拣机);
分拣机=me.sorter.items;
if(分拣机长度){
me.doSort(me.generateComparator());
}
}
}
});

set
sortable:true
在分组列的
默认值
配置上,或作为子列本身的配置。e、 g

{
            // NOTE: these two are grouped columns
            text: 'Close',
            columns: [{
                text: 'Value',
                minWidth: 100,
                flex: 100,
                sortable: true,
                dataIndex: 'ValueHeld_End'
            }, {
                text: 'Total',
                minWidth: 110,
                flex: 110,
                sortable: true,
                dataIndex: 'TotalPnL'
            }]
        }
{
            // NOTE: these two are grouped columns
            text: 'Close',
            columns: [{
                text: 'Value',
                minWidth: 100,
                flex: 100,
                sortable: true,
                dataIndex: 'ValueHeld_End'
            }, {
                text: 'Total',
                minWidth: 110,
                flex: 110,
                sortable: true,
                dataIndex: 'TotalPnL'
            }]
        }