まず第一に、私はExtJs 4.2.1を使用しています
2 つのグリッドがあります。1 つ目はデータベース (国) からレコードを収集し、2 つ目はツリーグリッド (国を表示し、国ごとに都市のリストを展開する必要があります) です。
私が達成しようとしている動作は、最初のグリッドでレコード (または複数のレコード) を選択すると、それらのレコードがツリーグリッドにリーフとしてコピーされるため、それらのリーフをより多くのレコード (都市) で埋めることができます。
最初のグリッドから次のレコードを取得します。
grid.getSelectionModel().getSelection()
しかし、それらをツリーグリッドにコピーする方法がわかりません。setRootNode を使用してみましたが、ルート ノードの「raw」プロパティにレコードが表示されますが、グリッドに表示できません。
私は何が欠けていますか?
更新:私は国を取得することができました:
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})
これにより国のリストが表示され、レコードの 1 つを展開すると、選択したレコードの子としてリストが再び表示されます。動いていない :(