У меня проблема с сортировкой данных с помощью combobox.Неверный порядок сортировки в combobox с extjs
Источник данных JSON. Данные сортируются в sql. Результирующий набор (в SQL) и JSON результат выглядит отлично:
{"rows":[{"id":"TOT","txt":" Alle diagnosen"},{"id":"612","txt":"(acute) bloeding distale tract. digestivus*"},{"id":"042","txt":"(auto)-intoxicatie"},{"id":"402","txt":"(benigne) peptisch ulcus*"},{"id":"10","txt":"(bij)niertumor"},{"id":"652","txt":"(chorio)retinitis.. etc etc
В результате данные выглядят нормально (= тот же порядок сортировки в JSON результат), когда я осмотреть магазин с с поджигатель:
Однако, в результате выпадающий имеет другую (неправильно) сортировки (первые 2 оК):
Это не t отсортировано по значению дисплея или по значению идентификатора. Никакого сортировщика не добавлено.
Combo:
{
xtype: 'combobox',
id: 'ComboDiag',
itemId: 'ComboDiag',
width: 280,
fieldStyle: '',
name: 'ComboDiag',
fieldLabel: 'Diagnose',
labelWidth: 90,
displayField: 'txt',
queryMode: 'local',
store: 'ComboDiagStore',
typeAhead: true,
valueField: 'id',
listeners: {
render: {
fn: me.onComboDiagRender,
scope: me
}
}
}
Магазин:
Ext.define('AppPitDash.store.ComboDiagStore', {
extend: 'Ext.data.Store',
alias: 'store.ComboDiagStore',
requires: [
'AppPitDash.model.ComboDiagModel'
],
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
autoLoad: true,
storeId: 'ComboDiagStore',
model: 'AppPitDash.model.ComboDiagModel',
proxy: {
type: 'ajax',
url: './php/get-data-diagCombo.php',
reader: {
type: 'json',
root: 'rows'
}
}
}, cfg)]);
}
});
Модель:
Ext.define('AppPitDash.model.ComboDiagModel', {
extend: 'Ext.data.Model',
fields: [
{
name: 'id'
},
{
name: 'txt'
}
]
});
Я использую Сенча Architect 2, первый раз.
Это скорее раздражение, чем шоустоппер, но все же помощь будет оценена.
Я добавил код (с другим полем) к моему магазину, но это не сработало. –