Интересно, как заставить сортировщики магазина игнорировать, если первая буква имени маленькая или заглавная?
Я хочу, чтобы элементы списка с одной и той же первой буквой были сгруппированы вместе или, по крайней мере, иметь маленькую первую букву под заглавными буквами, и не так, как если бы изначально сначала был список с заглавными буквами и после списка маленьких первых букв.
Я нашел что-то вроде
var sorter = new Ext.util.Sorter({
property : 'myField',
sorterFn: function(o1, o2) { // compare o1 and o2 }
});
var store = new Ext.data.Store({
model: 'myModel',
sorters: [sorter]
});
store.sort();
, что может быть полезно.
спасибо!
edit: похоже, работает:
var mySubStore = app.stores.myStore.findRecord('id', recordID).websites();
app.stores.myStore.findRecord('id', recordID).websites().getGroupString = function(instance) {
return instance.get('name')[0].toUpperCase();
};
var sorter = new Ext.util.Sorter({
property : 'name',
sorterFn: function(o1, o2) {
var v1 = this.getRoot(o1).get(this.property).toLowerCase(),
v2 = this.getRoot(o2).get(this.property).toLowerCase();
return v1 > v2 ? 1 : (v1 < v2 ? -1 : 0);
},
clear: function(){}
});
//mySubStore.sorters = [sorter];
mySubStore.sort(sorter);