-1

センターパネルにタブパネルが作成されている各ノードの onclick が原因で、ツリーの読み込みが非常に遅くなります。ノード/アイコンをクリックして子ノードのみを読み込むようにコードを変更したいと思います。ノードをダブルクリックすると、タブ パネルがロードされます。つまり、最初にツリーをロードしたいのです。

treePanel.on('expand',function(node){
    alert("Expand event")
    var iconClass=node.getUI().getIconEl().className;
    node.getUI().getIconEl().className="x-tree-node-icon loading_icon";
    var ajaxReq = ajaxRequest(node.attributes.url,0,"GET",true);

    ajaxReq.request({
        success: function(xhr) {
            var response=Ext.util.JSON.decode(xhr.responseText);
            appendChildNodes(response.nodes,node); //method to add child nodes
            node.expand();
            node.getUI().getIconEl().className=iconClass;

        },
        failure: function(xhr){
            Ext.MessageBox.alert( _("Failure") , xhr.statusText);
            node.getUI().getIconEl().className=iconClass;
        }
    });

});
rootNode.firstChild.fireEvent('expand',rootNode.firstChild);
4

1 に答える 1

0

ロードする前にキャッチできます:

tree.on( 'beforeload', function( oStore, oOperation, oOpts ) { }

ロード:

tree.on( 'load', function( oStore, oNode, oNodes ) { }

アイコンの場合:

tree.on( 'expand', function( oNode, arChildren ) { }

次に、ノードを取得してアイコンを変更します。

oNode.set('icon', ... );

于 2013-02-25T17:25:17.820 に答える