10

フォームがあります。フォームでは、 と を使用しcomboBoxていstoreます。

{
    xtype: 'combobox',
    id: 'SubContractor',
    name: 'SubContractor',
    fieldLabel: 'Sub Contractors',
    selectOnFocus: true,
    editable: false,
    displayField: 'FirstName',
    store: 'jsonGetSubContractorsList',
    typeAhead: true,
    allowBlank: false,
    typeAheadDelay: 20,
    valueField: 'SubContractID',
    width: 440,
    labelWidth: 229
}

ストアでは、プロキシに staticextraParamsがあり、機能しています。

proxy: {              
    type: 'ajax',
    url: '/admin/contract/subcontractors/jsonsubcontractorslist',
    extraParams: {
        cid : 34
    },
    reader: {
        type: 'json',
        root: 'data'
    }
},

しかし、契約IDをストアに動的に送信する方法がわかりません。

4

5 に答える 5

22
store.getProxy().extraParams = {
    foo: 'bar'
};
store.load();
于 2012-08-10T06:06:56.047 に答える
10

extjs4 の場合は次のようになります。

store.load({
    params:{
        'foo1': bar1,
        'foo2': bar2
    } 
});
于 2013-05-31T14:28:28.623 に答える
2

これを試して:

  .
  . 
  proxy: {
    type: 'ajax',
    api: {
        create: CONTEXT_PATH + '/mvc/odon/create', 
        read: CONTEXT_PATH + '/mvc/odon/list',
        update: CONTEXT_PATH + '/mvc/odon/update',
        destroy: CONTEXT_PATH + '/mvc/odon/delete'
    },
    .
    .

パラメータを渡す:

 var storeDiagnostico= down('gridpanel').getStore();//Ext.create('store.odont.DStore');
        storeDiagnostico.getProxy().setExtraParam("idOdontologia", value);
        storeDiagnostico.load();
于 2013-08-16T20:14:21.473 に答える
1

Chrome と FF では、これでも機能します。

store.proxy.extraParams.foo= 'bar';

しかし、IE8(個人的にこの問題を抱えていた)では、エヴァンが言及した方法でそれを行う必要がありました

store.proxy.extraParams = {foo: 'bar'};

これをチェックして...

于 2013-06-12T19:43:32.360 に答える