Прежде всего: Я использую ExtJS 4.2.1ExtJs 4 - Копирование записей из магазина в TreeStore (сетки TreeGrid)
у меня есть две сетки: первый один собирает записи из базы данных (страны) и вторая - деревенская (должна показать страны, и каждая страна должна расширить список городов).
Поведение, которое я пытаюсь достичь, заключается в том, что после выбора записи (или нескольких записей) в первой сетке эти записи копируются в treegrid как листья, поэтому я могу заполнить эти листья большим количеством записей (города).
я получаю запись из первой сетки с:
grid.getSelectionModel().getSelection()
Но я не знаю, как копировать их на TreeGrid. Я пробовал использовать setRootNode, и я могу видеть записи о «сыром» свойстве корневого узла, но я не могу показать их в сетке.
Что мне не хватает?
Обновлено: Я удалось получить страны с:
var records = grid.getSelectionModel().getSelection();
treegrid.getStore().setRootNode({ root: true, expanded: true, children: records})
Теперь у меня возникли проблемы, чтобы загрузить подзаписи. В качестве теста я попытался использовать те же «записи страны», чтобы убедиться, что с моделью нет конфликтов. Это то, что я пробовал:
var records = grid.getSelectionModel().getSelection();
for (record in records){
records[record].expanded = true;
records[record].children = records;
}
treegrid.getStore().setRootNode({ root: true, expanded: true, children: records})
Это должно показать список стран и при расширении одной из записей, он должен показать снова список, как дети выбранной записи. Это не работает :(
Вы разрешили это? – Reimius
Да, но решение получилось слишком тяжелым, поэтому я решил собрать все на бэкэнде и отправить все это обратно. – nahl