1

私はここで問題を抱えています、多分誰かが私を助けることができます:)

PHP ファイルからの応答があります。使用する主なフィールドは「id」と「kode_jabatan」です。しかし、ツリーノードをクリックすると、「id」フィールドではなく「kode_jabatan」をパラメーターにPOSTしたいのです。私が見逃したトリックやドキュメントはありますか? コードは以下のとおりです。

var treeStore = Ext.create('Ext.data.TreeStore', {
        proxy: {
            type: 'ajax',
            url: 'func/mainFunction.php?get=menu',
            actionMethods: {
                create: 'POST',
                read: 'POST',
                update: 'POST',
                destroy: 'POST'
            }
        },
        nodeParam:'kode_jabatan',
        folderSort:true,
        root: {
            text: 'Struktur Organisasi',
            id: '(2010-01)',
            expanded: true
        }
});


Ext.create('Ext.tree.Panel', {
           store: treeStore,
           title: 'Menu Utama'
})

ツリーパネルのスクリーンショット

4

1 に答える 1

4

ツリーストアに beforeload イベントを追加すると、操作パラメーターから現在要求しているノードにアクセスできます。複数のパラメーターが必要な場合、コードでこれを何度も行う必要があります。

var treeStore = Ext.create('Ext.data.TreeStore', {
        proxy: {
            type: 'ajax',
            url: 'func/mainFunction.php?get=menu',
            actionMethods: {
                create: 'POST',
                read: 'POST',
                update: 'POST',
                destroy: 'POST'
            }
        },
        nodeParam:'kode_jabatan',
        folderSort:true,
        root: {
            text: 'Struktur Organisasi',
            id: '(2010-01)',
            expanded: true
        },
        listeners: {
            beforeload: function(store, operation, eOpts){
            var kode_jabatan = operation.node.get("kode_jabatan");
            operation.params.node = kode_jabatan;
    }
});

基本的に、 operation.params.[whatever you want] オブジェクトに新しい属性を設定することで、必要なパラメーターをリクエストに追加できます。

于 2012-07-02T19:14:05.127 に答える