2010-08-04 12 views
12
var store = new Ext.data.JsonStore({ 
    id:'jfields', 
    totalProperty:'totalcount', 
    root:'rows', 
    url: 'data.php', 
    fields:[{ name:'jfields' }, 
      { name:'firstyear' , mapping :'firstyear' , type:'float' }, 
      { name:'secondyear', mapping :'secondyear', type:'float' }, 
      { name:'thirdyear' , mapping :'thirdyear' , type:'float' }, 
      { name:'fourthyear', mapping :'fourthyear', type:'float' }, 
      { name:'fifthyear' , mapping :'fifthyear' , type:'float' } ] 

    }              
}); 

Lo que quiero es agregar datos al final de esta tienda, pero estoy totalmente confundido, lo que hice es agregar el siguiente código pero no funciona.
Cómo agregar registros en json-store

listeners: { 
    load : function(){ 
     BG_store.add([{"jfields":"Monthly","firstyear":22.99,"secondyear":21.88,"thirdyear":21.88,"fourthyear":22.99,"fifthyear":21.88}]); 
    } 
} 

Pero yo no creo que mi concepto se borran, por favor cualquier órgano mostrar alguna manera cómo hacerlo.

Respuesta

18

es necesario definir un tipo de registro, crearlo y en ella, por ejemplo:

TaskLocation = Ext.data.Record.create([ 
    {name: "id", type: "string"}, 
    {name: "type", type: "string"}, 
    {name: "type_data", type: "string"}, 
    {name: "display_value", type: "string"} 
]); 

continuación:

var record = new TaskLocation({ 
    id: Ext.id(), 
    type: "city", 
    type_data: "", 
    display_value: "Brighton" 
}); 

continuación:

my_store.add(record); 
my_store.commitChanges(); 

Recuerde cuando el la información está en la tienda, no está en el mismo formato que la envió, sino en objetos de registro.

+0

thanyou mucho LIoyd, también he encontrado una forma en que estoy agregando mi respuesta también, una vez más gracias mucho –

5

También he encontrado una solución simple para esto:

listeners: { 
    load: function(xstore , record , option) { 
     var u = new xstore.recordType({ jfields : 'monthly' }); 
     xstore.insert(record.length, u); 
    } 
} 

Aquí lo que tengo que añadir es esta oyentes como cuando las cargas de datos que va a crear el tipo de registro y U pueden añadir campos como datos como muchos como desee

6

Consulte la propiedad recordType en JsonStore. Es una función que se puede usar como un constructor de registros para la tienda en cuestión. Úselo así:

var newRecord = new myStore.recordType(recordData, recordId); 
myStore.add(newRecord); 
Cuestiones relacionadas