Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ExtJS组合具有相同字段的存储中的记录_Javascript_Extjs_Extjs4 - Fatal编程技术网

Javascript ExtJS组合具有相同字段的存储中的记录

Javascript ExtJS组合具有相同字段的存储中的记录,javascript,extjs,extjs4,Javascript,Extjs,Extjs4,示例XML文件: <BrowserInformation> <Value> <Year>2011</Year> <Name>Firefox</Name> <Count>4952</Count> </Value> <Year>2011</Year>

示例XML文件:

<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 }]

下面的解决方案对您有效吗?