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' } ]
}
});
Я хочу добавить данные в конце для этого магазина, но я совершенно сбит с толку. Я добавил следующий код, но он не работает.
listeners: {
load : function(){
BG_store.add([{"jfields":"Monthly","firstyear":22.99,"secondyear":21.88,"thirdyear":21.88,"fourthyear":22.99,"fifthyear":21.88}]);
}
}
Но я не думаю, что моя концепция очищена. body покажет, как это сделать.
Вам нужно определить тип записи, создать ее и на ней, например:
TaskLocation = Ext.data.Record.create([
{name: "id", type: "string"},
{name: "type", type: "string"},
{name: "type_data", type: "string"},
{name: "display_value", type: "string"}
]);
Затем:
var record = new TaskLocation({
id: Ext.id(),
type: "city",
type_data: "",
display_value: "Brighton"
});
Затем:
my_store.add(record);
my_store.commitChanges();
Помните, что к тому времени, когда данные находятся в хранилище, они не в том же формате, что и вы отправил его, но вместо этого в объектах записи.
Я также нашел простое решение этой проблемы:
listeners: {
load: function( xstore , record , option ) {
var u = new xstore.recordType({ jfields : 'monthly' });
xstore.insert(record.length, u);
}
}
Здесь я должен добавить этих слушателей, поскольку при загрузке данных он создает тип записи, и вы можете добавлять поля в виде данных, сколько хотите