我必须维护一个由extjs4.2开发的遗留项目。但是我发现网格不能使用带有动态字段的存储。并且该字段包含字符破折号和减号,这会导致错误。请看下面的代码片段,并关注网格存储的字段。它会抛出语法错误“赋值中的左手无效”。
Ext.create('Ext.grid.Panel',{
title:'mygrid',
store: Ext.create('Ext.data.Store'{
fields:['group','alfa=-2.0','alfa=0','alf=2.0'],
data:[
{'group':'beta', 'alfa=-2.0':1.3, 'alfa=0':1.4, 'alfa=2.0':1.5 },
{'group':'beta', 'alfa=-2.0':1.3, 'alfa=0':1.4, 'alfa=2.0':1.5 },
]
}),
columns:[
{'dataIndex':'group','header':'group'},
{'dataIndex':'alfa=-2.0','header':'alfa=-2.0'},
{'dataIndex':'alfa=0','header':'alfa=0'},
{'dataIndex':'alfa=2.0','header':'alfa=2.0'}
]
});
1条答案
按热度按时间iq0todco1#
您的范例包含语法错误。
Ext.create('Ext.data.Store'{
在第一个参数之后遗漏了,
。在后台,Ext调用
recordDataExtractorTemplate
,试图访问带有点标记的记录值。这将导致代码value = source.alfa=-2 && source.alfa=-2.0;
,这显然是语法错误的。下面的任何一种解决方案都可能奏效。你选择哪一种取决于你。
Ext.data.reader.Reader
的覆写,并修补失败的函式。