3

いくつかのレコードがあるグリッドパネルがあります。ただし、このグリッドパネルの要素は子です。したがって、グリッドで新しいレコードを作成するとき、または既存のレコードを更新するときは、追加のパラメーターを親IDとしてサーバー側に送信します(親はテーブルの1つです)。直販を利用しています。

リモートフィルターがあることは知っていますが、作成や更新ではなく、読み取りアクションでのみ送信されたようです。

4

3 に答える 3

4

追加のパラメータを送信する場合は、プロキシのextraParamsプロパティを使用します

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.proxy.Server-cfg-extraParams

于 2012-06-30T20:51:48.890 に答える
2

extraParamsを送信するには、常に読み取り操作(作成、破棄、更新)だけではありません。

伸ばした

Ext.data.proxy.Direct

とオーバーライド

doRequest

それは魅力のように機能しました。

ExtJs4.1.1の使用

元のコードは次のとおりです。

if (operation.action == 'read') {
            // We need to pass params
            method = fn.directCfg.method;
            args = method.getArgs(params, me.paramOrder, me.paramsAsHash);
        } else {
            args.push(request.jsonData);
        }

私はそれを次のように変更しました:

    method = fn.directCfg.method;
    args = method.getArgs(params, me.paramOrder, me.paramsAsHash);

    if(operation.action !== 'read'){
         args.push(request.jsonData);
    }

ここからアイデアを取り入れましたhttps://www.sencha.com/forum/showthread.php?282879-ExtraParams-Store-Create

注意:ストアには、作成したクラスのエイリアスに配置したもののプロキシがあります。エイリアスは次のようalias : 'proxy.mycompanydirect'になり、ストアのプロキシタイプは次のようになります'mycompanydirect'

于 2016-01-19T16:02:10.723 に答える
0

extraParams

Object4すべてのリクエストに含まれる追加のパラメーター。同じ名前のパラメータを持つ個々のリクエストは、競合している場合、これらのパラメータを上書きします。

var store = Ext.create('Ext.data.Store', {
                  // destroy the store if the grid is destroyed
                  autoDestroy: true,
                  model: 'Plant',
                  proxy: {
                  extraParams: {name: 'dfds'}, // to send extra parmas 
                  ...
                  }
            });
于 2012-12-04T06:18:35.547 に答える