[英]Firing checkchange event on a tree node using its ID in ExtJs 4.1
我有一個TreePanel。 樹中的每個節點都有一個ID。 單擊按鈕后,我要觸發節點2.1的checkchange事件(如下樹所示)。 單擊按鈕如何使用節點ID觸發節點的checkchange事件。
1
1.2
1.3
1.4
2
2.1
2.2
3
謝謝
要觸發checkchange,您需要擁有節點以及是否已對其進行檢查。
TreePanel
使用Ext.data.TreeStore
來存儲其節點信息(位於store
屬性中)。
此TreeStore具有getNodeById( id )
方法,該方法按id返回記錄節點。
如果要從另一個屬性獲取節點,則需要使用store
的tree
( Ext.data.Tree
)屬性,就像節點管理器一樣。 它在nodeHash
屬性中具有一個節點記錄數組。 您需要迭代此Array並手動比較給定的屬性。
完整的代碼:
buttonClick: function(button, e, eOpts) {
var treepanel = button.up(...).down('treepanel');
var node = treepanel.getStore().getNodeById(yourIDHere);
// for custom property use this:
/*var nodeHash = treepanel.getStore().tree.nodeHash;
var node;
for (var x in nodeHash) {
if (nodeHash[x].get('customProperty') == customValue) {
node = nodeHash[x];
break;
}
} */
treepanel.fireEvent('checkchange', node, node.get('checked'));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.