簡體   English   中英

在ExtJs 4.1中使用其ID在樹節點上觸發checkchange事件

[英]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返回記錄節點。

如果要從另一個屬性獲取節點,則需要使用storetreeExt.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM