ExtJS网格选择模型
问题描述:
我有一个存储映射到它的ExtJS网格。ExtJS网格选择模型
商店的JSON响应包含20个字段,但我只映射了商店中的10个字段。我是否有可能获得其他10个领域而无需将其映射到商店中,或者是否有必要将所有领域映射到商店。在网格的行选择事件中执行此操作。至于代码,我可以创建网格,映射商店,激发事件,甚至可以获得具有映射10字段的选定行的记录。
有什么建议?
按照要求由谢加:
商店定义
Ext.define('gdoc.store.PrintPaperStore', {
extend: 'Ext.data.Store',
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
autoLoad: true,
storeId: 'PrintPaperStore',
proxy: {
type: 'ajax',
url: 'urlToRetrieveTheJSON',
reader: {
type: 'json',
root: 'root'
}
},
fields: [
{
mapping: 'value',
name: 'value'
},
{
mapping: 'display',
name: 'display'
}
]
}, cfg)]);
}
});
JSON响应:
{
"root":[{
"value":"COATED115",
"display":"Coated recycled paper (115gms)",
"description" : "Good quality",
"extra" : "EXTRA INFO"
},{
"value":"COATED135",
"display":"Coated recycled paper (135gms)",
"description" : "Good quality"
},{
"value":"OFFSET",
"display":"Offset recycled paper (80gms)",
"description" : "Good quality",
"extra" : "EXTRA INFO"
},{
"value":"OTHER",
"display":"Other paper (client to order)",
"description" : "Good quality",
"extra" : "EXTRA INFO"
}]
}
正如你可以看到我已经从映射的唯一 '价值' 和 '显示'商店中的JSON响应。如果我不必在商店中映射它们,我是否有可能退回“描述”和“额外”的价值。
答
否。模型或商店必须设置您希望从JSON数据获得的所有字段。
我很困惑,为什么你不想映射额外的字段?这是纯粹的节省时间,希望有一个更快的方式来访问数据?或者你是否期望字段名称是动态的?
如果这是动态的原因,看看这个职位的解决方案。 Dynamic model with ExtJS 4
你可以显示你的商店的代码? – Shekhar 2012-04-04 08:53:28
请在您的问题中包含您的代码,以便我们能够更好地为您提供帮助。 – joelparkerhenderson 2012-04-04 08:54:45
谢谢你们,添加了代码。 – Zaje 2012-04-04 09:02:43