2010-08-04 11 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' } ] 

    }              
}); 

Quello che voglio è aggiungere dati alla fine per questo negozio, ma sono totalmente confuso, quello che ho fatto è aggiungere il seguente codice ma non funziona.
Come aggiungere record in 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}]); 
    } 
} 

Ma non credo che il mio concetto vengono cancellati, Si prega di qualsiasi organismo mostrare qualche modo come farlo.

risposta

18

è necessario definire un tipo di record, crearlo e ad esso, ad esempio:

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

Poi:

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

Poi:

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

Ricordati dal momento in cui la i dati sono nell'archivio, non nello stesso formato in cui sono stati inviati, ma in oggetti Record.

+0

molto molto simile, anche io ho capito come aggiungerei anche la mia risposta, ancora una volta grazie mille –

5

ho anche capito una semplice soluzione a questo:

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

Ecco quello che ho da aggiungere è questo ascoltatori come quando i carichi di dati che potranno creare il tipo di record e la u possono aggiungere campi dati come molti come si desidera

6

Vedere la proprietà recordType in JsonStore. È una funzione che può essere utilizzata come costruttore di record per il negozio in questione. Usalo in questo modo:

var newRecord = new myStore.recordType(recordData, recordId); 
myStore.add(newRecord); 
Problemi correlati