アプリケーションではtreepanelを使用しています。正常に動作しています。ただし、親ノードを選択すると、その親の子ノードは選択されません。親ノードを選択するときに、どのように子ノードを選択しますか?
ExtJS4で利用できる方法はありますか?
イベントに応答しitemclick
、クリックしたノードの下にあるすべてのノードを選択する必要があります。クリックしたノードの直接の子のみを選択する場合は、 と交換cascadeBy()
しeachChild()
ます。
tree.on("itemclick", function(view, record) {
var selModel = tree.getSelectionModel();
record.cascadeBy(function(r) {
selModel.select(r, true);
});
});
Ext.tree.View クラスには select 関数があります。
select( Ext.data.Model/Index records, Boolean keepExisting, Boolean suppressEvent )
選択時に、下にあるノードをフェッチしてこれを呼び出し、選択したノードの子 (それらのレコード) を送信できます。
再帰的にならないように、2 番目のパラメーターを false に指定することを忘れないでください。