0

EXTJS 4 のツリー パネルでノードを移動しようとしています。これらのノードの場所は SQL データベースに格納されています。ノードを移動すると、ツリー上の場所に応じて、データベース内のノードの ID が変更されるはずです。これまで、実際のノード自体ではなく、親ノードの ID のみを取得できました。なぜこれが起こっているのかわかりません。ノードを移動するたびに、親ノードのIDが返されます。コードは次のとおりです。

function buildTree() {

consoleWrite('BUILD THE TREE!!!');

var tree = Ext.create('Ext.tree.Panel', {
    title : '',
    border : false,
    height : SYSTEM.panelHeight,
    viewConfig : {
        listeners : {

        },
        enableDD : true,
        plugins : {
            ptype : 'treeviewdragdrop'
        }
    },
    collapsible : false,
    useArrows : true,
    rootVisible : false,
    store : TREEst,
    multiSelect : false,
    singleExpand : true,
    id : 'PAGETREE',
    listeners : {
        afterRender : function() {
            MASK.tree.hide();
        },
                itemmove : {
            fn : function(v, node, oldParent, newParent, index) {
                  var nodeID = node.data.id;
                                     alert(nodeID);
            }
        }

この nodeID は、実際のノード自体ではなく、データベースに格納されている親ノードの ID を出力しています。続行する方法について誰かが私にガイダンスを提供できれば、それは本当に素晴らしいことです. 前もって感謝します。

4

1 に答える 1

1

あなたの itemmove params 署名が正しいとは思いません。4.1 の API ドキュメントには次のように書かれています。

itemmove( Ext.data.NodeInterface this, Ext.data.NodeInterface oldParent, Ext.data.NodeInterface newParent, Number index, Object eOpts )

したがって、ノードは実際には oldParent を参照しています。

于 2012-06-11T16:51:15.193 に答える