Я новичок в Ext, поэтому заранее прошу прощения, если мой вопрос недостаточно ясен / слишком прост ...
У меня есть Ext.grid.EditorGridPanel с Ext.data.Store и Ext.data.JsonReader.
У меня следующая проблема:
Я хотел бы сделать столбцы в моей сетке сортируемыми, но значение, возвращаемое из моего хранилища, не является значением, которое я хотел бы отсортировать (возвращаемое значение является идентификатором, и я хотел бы отсортировать по строке this ID сопоставляется с).
У меня есть функция рендеринга, которая преобразует этот идентификатор в строковое значение, но я не знаю, как интегрировать это в мой код.
Я нашел это сообщение:
http://www.sencha.com/forum/showthread.php?45324-Grid-column-sorting-on-rendered-value
, которая выглядела как моя потребность, но когда я попытался добавить:
{name: 'my_field', sortType: my_render_function}
моему JsonReader это не сработало.
Где я могу ошибиться?
Спасибо.
По запросу Патера:
var my_render = function(val, metaData, record, rowIndex, colIndex, store){
if (val == null)
return '';
var n = another_store.getById(val);
if (n == null)
return '';
return n.data.name;
};
var my_reader = new Ext.data.JsonReader({
root: 'my_root',
id: 'tissue_num',
}, [{
name: 'tissue_num',
type: 'int'
}, 'tissue_desc', 'organ']
);
var my_store = new Ext.data.Store({
url: request_url,
baseParams: {
_state: request_state,
_action: 'get_conditions'
},
sortInfo: {
field: 'tissue_num',
direction: "ASC"
},
reader: my_reader,
pruneModifiedRecords: true
});