当我从json解析这些值时,Extjs中的值在网格中变为null,这主要是因为属性标签带有点。
"properties": {
"financialYear": "2009",
"employee.employeeId": "12345",
"employee.employeeName": "abc"
}
如何让.js中的employee.employeeId值显示在Extjs网格中。
现在我在.js,
中这样映射Ext.define('DocProperties',{
extend: 'Ext.data.Model',
fields: [
{name: 'financialYear', type: 'string'},
{name:'employeeId', mapping:'properties.employee.employeeId',type: 'string'},
]});
并且在网格面板中显示我正在这样访问,
{
width:100,
header: "Employee ID",
dataIndex: 'employeeId',
sortable: true
}
任何解决方案或解决方法。
@DmitryB谢谢,但这并没有解决我的问题,我有这样的商店
Ext.onReady(function() {
var store = Ext.create('Ext.data.Store', {
model: 'DocResult',
autoLoad: true,
proxy: {
type: 'rest',
url : 'sample-data.json',
reader: {
type: 'json',
root: 'results',
useSimpleAccessors: true
}
}
});
在我的模型中我定义了这个
Ext.define('DocResult',{
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name:'employeeId', mapping:'properties.employee.employeeId',type: 'string'}
] });
然后在我的Ext网格中显示空值。请帮助。
答案 0 :(得分:2)
只需查看源代码,您可以尝试以下方法:
mapping:'properties["employee.employeeId"]'
将此useSimpleAccessors
设置为true
或false
,然后让我知道结果是什么。
答案 1 :(得分:1)
尝试将useSimpleAccessors选项设置为true。它默认是假的。
http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.reader.Json-cfg-useSimpleAccessors
编辑:同样基于您在不同答案中提供的商店定义,JSON阅读器配置需要更改为root: "properties"
除非您没有提供完整的JSON示例,并且属性包含在“results”对象中,否则您需要设置root:“results”和记录:“properties”