首先:我使用的是 ExtJs 4.2.1
我有两个网格:第一个从数据库(国家)收集记录,第二个是树形网格(应该显示国家,每个国家都应该扩展城市列表)。
我试图实现的行为是,一旦您在第一个网格上选择了一条记录(或多条记录),这些记录就会作为叶子复制到树形网格中,这样我就可以用更多的记录(城市)填充这些叶子。
我从第一个网格中获取记录:
grid.getSelectionModel().getSelection()
但我不知道如何将它们复制到树网格上。我尝试使用 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})
这应该显示一个国家列表,并且在扩展其中一个记录时,它应该再次将该列表显示为所选记录的子项。它不工作:(