2016-05-10 8 views
0

Wie können wir einen Parameter im Speicher übergeben. Ich bin neu bei ExtJs bitte suggeriere mich.Wie übergeben Parameter in Store zu Web-API

xtype: 'grid', 
store: { 
type: 'webapi', 
//extraParams: { 
    //ID: 20 
//}, 
//Params: { 
    //ID: 20 
//}, 
api: { 
    read: 'api/Report/GetInfo' 
}, 
autoLoad: true, 
}, 
columns: [ 
{ header: 'All', xtype: 'checkcolumn', dataIndex: 'flag', width: '10%' }, 
{ header: 'Code', dataIndex: 'code', width: '15%' }, 
{ header: 'Name', dataIndex: 'name', width: '15%' },  
{ header: 'State', dataIndex: 'state', width: '15%' } 
], 

Versuchte von Params und extraPrams aber keinen Erfolg mit.

+1

Versuchen arbeiten sollte das Hinzufügen 'extraParams' zum Proxy, nicht zum Store. –

+0

Übrigens, wo haben Sie "store: webapi" in den Dokumenten gefunden? – Alexander

+0

Nach dem Wechsel von Store> Proxy - es ruft nicht Web API. Muss ich noch etwas ändern – user1893874

Antwort

1

prüfen diese Art und Weise:

xtype  : 'grid', 
store  : { 
    type : 'webapi', 
    proxy : { 
     type  : "ajax", 
     extraParams: { 
      ID: 20 
     } 
    }, 
    api  : { 
     read: 'api/Report/GetInfo' 
    }, 
    autoLoad: true 
} 

Oder Sie zusätzliche params in Ihrem Raster in initcomponent() Funktion hinzufügen könnte:

initComponent: function(){ 
    var me = this, 
     myId = 20; 
    me.callParent(arguments);  
    var store = me.getStore(); 
    store.getProxy().extraParams = { 
     ID:myId 
    } 
} 
+0

initComponent Logik arbeitete perfekt für mich .. Vielen Dank – user1893874

0

Versuchen Sie dies es

Ext.create('Ext.data.Store', { 
     ... 
    proxy : { 

      type : 'ajax', 
      url : 'url', 
      reader : { 
       rootProperty : 'data', 
      } 
     }, 
     listeners:{ 
      beforeload: function(store){ 
     Ext.apply(this.proxy.extraParams, { 
        "ID" : 20 
       }); 
      } 
     }, 
+0

versucht, wie Sie vorgeschlagen, aber keinen Erfolg :( – user1893874