Я использую ExtJs 3.4, и у меня есть TreeGrid (Ext.ux.tree.TreeGrid)
с моделью столбца.Extjs 3.4 Дерево по умолчанию сортировать по указанному столбцу
Сортировка очень хорошо работает с данными, полученными TreeGridLoader
, когда вы нажимаете на заголовок каждого столбца, но я хочу sort by a default specified column
. Есть ли способ достичь этого? Я хочу указать, что, как я уже сказал, у меня нет магазина, вместо этого у меня определен TreeGridLoader.
UPDATE
Благодаря wes
лучший (и вообще) решение моей проблемы было бы:
// simulate click on order number and order by this column
var treeGrid = Ext.getCmp('siteStructureGrid');
var index = 0;
for (var i = 0; i<treeGrid.columns.length; i++){
if (treeGrid.columns[i].id == 'orderNumberColumn'){
index = i;
}
}
var column = treeGrid.columns[index];
treeGrid.fireEvent('headerClick', column);
Да, это прекрасный способ, и он работает ... он как-то жестко закодирован, но работает (по крайней мере, пока не найду другое решение) ... Спасибо! Также было бы лучше, если бы это было способом получить индекс столбца по id в дереве, но каждый раз, когда я добавляю другой столбец, я должен быть осторожным, чтобы увеличить индекс отсортированного столбца – spauny
. Я думаю, что это печальное следствие 'TreeGrid', простирающийся от' TreePanel', а не 'GridPanel'. Вы не получаете удобство обработки столбцов, например 'getColumnByID'. Отсутствие надлежащей модели с несколькими наследствами, вероятно, было слишком много работы для их добавления к неподдерживаемому расширению. – wes
Да, я видел, что TreeGrid расширяет TreePanel, к сожалению ... Я обновил свой вопрос с помощью наиболее общего решения, используя 'treeGrid.columns [i] .id', чтобы найти индекс моего идентификатора столбца. Благодаря! – spauny