来自同一商店的多个网格

时间:2014-08-25 08:05:25

标签: extjs extjs3

我需要在ExtJs3.2上的网格面板上显示产品销售数据 - 每个产品一个网格 数据按年收到,并加载到jsonstore中。

{"list": [
  {
    "Year": "2014",
    "product": "IS",
    "total": "5.0",
  },
  {
    "Year": "2013",
    "product": "IS",
    "total": "5.6",
  },
  {
    "Year": "2014",
    "product": "NS",
    "total": "5.7",
  },
  {
    "Year": "2013",
    "product": "NS",
    "total": "5.1",
  }
 ....
......
]

}

处理响应以转换为特定于产品的密钥'字典。

{ "IS":[{"Year":"2013","total":"5.1"},{"Year":"2013","total":"5.1"}..],
"NS":[{"Year":"2013","total":"5.1"},{"Year":"2013","total":"5.1"}..],
..}

然后将每个键(和值)加载到单独的阵列存储中以馈送相应的网格。

虽然过于简单 - 为了实现这一点,正在创建太多的对象/结构 是否有更优雅的方式从商店数据的摘录中加载多个网格?

1 个答案:

答案 0 :(得分:0)

如果您有重要理由不切换到MVC ExtJS 4或MVVC ExtJS 5,您可以在服务器端以所需方式提供数据。例如。通过Node.js获取JSON并重新处理它。您的请求可能更具体,您的客户端应用程序会更快。

另一种方法是将convert()函数写入Ext.data字段并将其用作网格的源。