2011-09-16 18 views
5

In Ext 3.x ho potuto ottenere un array di nomi dei campi con questo:ExtJS 4,0 negozio - come trovare i campi nel negozio (o il modello)

mystore.fields.keys 

Come posso fare questo in 4.0? Non riesco nemmeno a vedere come posso ottenere il modello utilizzato dal negozio (nessun metodo 'getModel'). Devo trovare un record e ottenere i campi in questo modo? Definisco il negozio con:

Ext.define('AM.store.Equipments', { 
    extend: 'Ext.data.Store', 
    model: 'AM.model.Equipment', 

    mycustFunc: function() { 
      var myfields = this.fields.keys (fails!) 

EDIT: Grazie ... guardando in Firebug più sembra che questo ottiene quello che voglio:

this.model.prototype.fields.keys 

risposta

9

Anche se non esiste un metodo per la getModel() Memorizzandosi, il Proxy mantiene il modello, quindi è sufficiente utilizzare store.getProxy().getModel() per recuperare il modello e, di conseguenza, i campi del modello. Per replicare un negozio, basta usare il modello: originalStore.getProxy().getModel().modelName.

+0

Grazie ... guardando in Firebug più sembra che questo ottiene quello che voglio : this.model.prototype.fields.keys – amackay11

+0

sì ho controllato anche io, ho pensato che sarebbe più semplice: P ... hanno reso più complicato – nscrob

0

a cambiare i campi dal mio deposito,
proprio così:

myStore.model.setFields(fields); 
Problemi correlati