次のようにsort()メソッドを使用して並べ替えることができます。
Ext.define('Role', {
extend: 'Ext.data.Model',
fields: [
{name: 'role_id', type: 'int'},
{name: 'role_name', type: 'string'}
]
})
var store = Ext.create('Ext.data.Store', {
model: 'Role',
data: [ // non-sorted data
[ 1, 'user' ],
[ 2, 'super' ],
[ 3, 'read-only' ],
[ 4, 'admin' ]
]
});
// sort the store
store.sort([{
sorterFn: function(v1, v2) {
var order = ['read-only', 'user', 'admin', 'super'],
v1o = order.indexOf(v1.get('role_name')),
v2o = order.indexOf(v2.get('role_name'));
return v1o < v2o ? -1 : 1;;
}
}]);
console.log(store.data);
ここで機能していることがわかります:http://jsfiddle.net/lontivero/wGc2D/4/
幸運を!