Не тестировал это решение для вашего случая, но связанные модели здесь, как мне кажется не нужны. Лучше попробовать извлекать данные в нужное поле при помощи функции, переданой в параметре
convert настроек поля.
Ext.define('MyTreeItemModel', {
extend: 'Ext.data.TreeModel',
proxy: {
type: 'rest',
url: '/omnireports/ajaxgrid',
reader: {
type: 'json'//,
//root: 'Statistic'
}
},
fields: [
{
name: 'text',
convert(value, record) {
if (record.data.Specialist) {
return record.data.Specialist;
}
if (record.data.WorkGroup) {
return record.data.WorkGroup;
}
}
}
]
})
Если нет желания менять серверный код, то подготовить данные к вставке в
Ext.data.TreeStore можно и на клиенте. У библиотеки есть необходимые средства. Загрузка в стор затем через loadData(). Элегеантно или нет такое решение, судить вам.