Ext.data.Store.getById失败

时间:2011-02-24 17:29:12

标签: extjs

我有一个商店,其定义如下:

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?

2 个答案:

答案 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