1

编辑: 找到答案我在这篇文章中找到了答案。有一个名为 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; 
                }
            }
        ]

但是我遇到了与另一个线程中的人相同的问题,没有任何东西得到排序。

4

0 回答 0