Javascript ExtJS组合具有相同字段的存储中的记录
示例XML文件:Javascript ExtJS组合具有相同字段的存储中的记录,javascript,extjs,extjs4,Javascript,Extjs,Extjs4,示例XML文件: <BrowserInformation> <Value> <Year>2011</Year> <Name>Firefox</Name> <Count>4952</Count> </Value> <Year>2011</Year>
<BrowserInformation>
<Value>
<Year>2011</Year>
<Name>Firefox</Name>
<Count>4952</Count>
</Value>
<Year>2011</Year>
<Name>MSIE</Name>
<Count>4613</Count>
<Value>
<Year>2011</Year>
<Name>Chrome</Name>
<Count>1401</Count>
</Value>
<Value>
<Year>2011</Year>
<Name>Safari</Name>
<Count>1111</Count>
</Value>
<Value>
<Year>2011</Year>
<Name>Unknown</Name>
<Count>1119</Count>
</Value>
<Value>
<Year>2011</Year>
<Name>Opera</Name>
<Count>9</Count>
</Value>
<Value>
<Year>2012</Year>
<Name>Firefox</Name>
<Count>3544</Count>
</Value>
...
</BrowserInformation>
2011
火狐
4952
2011
MSIE
4613
2011
铬
1401
2011
游猎
1111
2011
不为人知
1119
2011
歌剧院
9
2012
火狐
3544
...
生成的柱状图:
目前,对于XML文件中的每个记录,图表中都有一个条形图。我想获得每个浏览器的合计计数(即,对于Firefox,它将是4952+3544)。data和store类的配置选项idProperty和groupers似乎只是将具有相同名称的条放在图表中的相邻位置,但似乎没有将它们组合在一起。假设文件中的数据无法更改。我将如何做到这一点?我是否可以在模型、存储区或图表中设置特定的配置属性?如果是,哪一个?或者还有其他方法吗?我建议在模型中使用一个新字段,比如“total”,并使用转换函数 从 如果需要更复杂的值提取策略,则使用转换函数配置字段。该函数将传递给整个行对象,并可能以任何必要的方式对其进行查询,以返回所需的数据 你的转换函数可以是这样的
function convert2Total(v, record){
return record.data.firefox + record.data.chrome;
}
模型中的字段数组将如下所示:
fields: [ { name: "firefox" },
{ name: "chrome" },
{ name: "total", convert: convert2Total }]
下面的解决方案对您有效吗?