编辑: 找到答案我在这篇文章中找到了答案。有一个名为 remoteSort 的私有存储配置字段默认设置为 true,因此除非将 remoteSort 显式设置为 false,否则不会使用客户端排序器。
我正在尝试按其中的用户故事数量对功能网格进行排序。我尝试了几种不同的方法。第一个是数据存储配置中的排序器功能:
Ext.create('Rally.data.wsapi.Store',{
model: 'PortfolioItem/Feature',
autoLoad:true,
start: 0,
pageSize: 20,
fetch: ['Name', 'ObjectID', 'Project', 'Release', 'UserStories','State','_ref'],
context://context stuff
filters:[
//filter stuff
],
sorters:[
{
property:'UserStories',
sorterFn: function(o1, o2){
return o1.get('UserStories').Count - o2.get('UserStories').Count;
}
}
],
listeners: //listener stuff
但这总是什么也没返回。(当不包括排序器时,我确实取回了所有正确的功能,但我无法对每个功能的用户故事数量进行排序)。
我还尝试在网格中的列中添加一个排序器,如本文所示:
xtype: 'rallygrid',
width:'50%',
height:400,
scroll:'vertical',
columnCfgs: [
{
text:'Stories',
dataIndex:'UserStories',
xtype:'numbercolumn',
sortable:true,
doSort: function(direction){
var ds = this.up('grid').getStore();
var field = this.getSortParam();
console.log(ds, field, direction);
ds.sort({
property: field,
direction:direction,
sorterFn: function(us1, us2){
return (direction=='ASC'? 1 : -1) * (us1.get(field).Count - us2.get(field).Count);
}
});
},
width:'20%',
renderer:function(us){
return us.Count;
}
}
]
但是我遇到了与另一个线程中的人相同的问题,没有任何东西得到排序。