如何对ArrayStore进行排序?

时间:2011-12-21 15:56:26

标签: javascript extjs extjs4

我有一个对象:

   store: Ext.create('Ext.data.ArrayStore',{
            sortInfo: { field: "uniq_users", direction: "DESC" },
            fields: [
                {name: 'Country', type: 'string'},
                {name: 'uniq_users',      type:'int'}],
                data: [{Country: 'Ed',    users: 'Spencer'}]
    })
    store.loadData(...)

为什么默认排序不适用于现场?

1 个答案:

答案 0 :(得分:2)

sortInfo属性可用于ExtJS 3.x,而不适用于最新版本。随着版本4的发布,排序通过mixin Ext.util.Sortable实现。您应该使用属性sorters来定义排序参数..

以下是您应该做的事情:

store: Ext.create('Ext.data.ArrayStore',{
    sorters: [
        {property : 'uniq_users',direction: 'DESC'}
    ],
    fields: [
        {name: 'Country', type: 'string'},
        {name: 'uniq_users',      type:'int'}
    ],
    data: [{Country: 'Ed',    users: 'Spencer'}]
});
store.loadData(...);