我有一个商店,其定义如下:
var AdditionalGridData = new Ext.data.JsonStore(
{ root: "result",
data: { result: Ext.decode(this.Data.AdditionalGridData) },
idProperty: 'iD',
fields: [
{ name: "iD", type: "int", allowBlank: false }, //must match selected row's primary key
{name: "SomeText", type: "string" }
]
});
所以有一段时间我想通过它的ID值获得现有记录。我调用getById并返回undefined。商店真的包含我正在搜索的记录。为什么不能归还我的记录? 在论坛的某个地方阅读: 你需要将记录id(f.e。“ext-record-1”)传递给Store.getById而不是你的数据ID(f.e。“1”); 它是否正确?我从哪里获得该记录ID?
答案 0 :(得分:2)
我错误地插入了记录。我插入它们就像.add({ContactName:“aaa”},{ContactID:1}),应该像.add({ContactName:“aaa”},1);
答案 1 :(得分:1)
试试这个:
var additionalDataRecord = Ext.data.Record.create([
{name: 'iD', type: 'int', allowBlank: false},
{name: 'someText', type: 'string'}
]);
var additionalDataReader = new Ext.data.JsonReader({
root: 'result',
id: 'iD'
}, additionalDataRecord);
then in your data store declaration, specify
reader: additionalDataReader