ExtJS网格选择模型
ExtJS Grid Selection Model
我有一个ExtJS网格,其中映射了一个存储。
存储的JSON响应包含20个字段,但我只映射了存储中的10个字段。我是否可以在不必在商店中映射的情况下获得其他10个字段,或者我是否有必要将所有字段映射到商店。对网格的行选择事件执行此操作。至于代码,我可以创建网格、映射存储、激发事件,甚至可以获得具有映射的10字段的所选行的记录。
有什么建议吗??
应Shekhar的要求:
存储定义
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"
}]
}
正如您所看到的,我只从store
中的JSON
响应映射了value
和display
。
我是否可以检索description
和extra
的值,而不必将它们映射到store
中。
您可以访问模型上的.raw属性,该属性将包含来自读取器的原始JSON。
否。模型或存储必须设置您希望从JSON数据中获得的所有字段。
我很困惑你为什么不想映射额外的字段?这纯粹是为了节省时间,并希望有一种更快的方法来访问数据吗?或者您希望字段名称是动态的?
如果这是动态原因,请查看这篇文章以获得解决方案。ExtJS 4 动态模型
相关文章:
- Angular没有根据模型更新我的选择元素
- Angularjs:如何让ui选择只有一种方式的模型竞标
- 初始化ng模型时,Angular ui选择占位符不起作用
- 选择框中带有关联的ng模型,选项中带有ng重复
- 角度:仅当选择脏时定义 ng 模型
- 角度指令:当选择更改时,ng 模型未正确更新
- AngularJS绑定模型以选择更新输入数字字段,最小值为最大值
- 选择与ng模型和ng选项绑定时不进行选择
- 与设计用户相关联的多个模型-根据角色选择填写一个模型
- AngularJS:选择不绑定到模型
- 选择框中的ng模型工作不正常
- 使用数组中的嵌套对象在AngularJS中切换用于动态选择菜单的数据模型
- 使用 $q.all 有时会导致选择无法正确读取模型
- 在选择未绑定到模型 Angular js 的日期值时使用日期选择器
- 如何将 HTML 选择绑定到 Rivets.JS 中的模型值
- ng 模型设置值为选择
- 挖空选择框未绑定到初始模型值,而是绑定新值
- 使用 ng 模型选择未选择正确的选项
- Ext JS 4.2:复选框模型选择问题
- 无法按模型选择元素