Extjs Sencha网格聚合存储条目

Extjs Sencha网格聚合存储条目,extjs,Extjs,假设我有一家商店: Buyer,Good,ItemCount,ItemPrice {'Alice','Apple',5,$.25} {'Bob','Pear',2,$.35} {'Bob','Banana',5,$.25} {'Bob','Pear',4,$.35} {'Eve','Grapefruit',2,$.40} 我有一个网格来显示这个商店的内容,至少有十几个功能分散在各地,这些功能可以改变这个商店,改变过滤器,从服务器重新加载数据,等等 有没有一种快速的方法来添加另一个网格,它在一行

假设我有一家商店:

Buyer,Good,ItemCount,ItemPrice
{'Alice','Apple',5,$.25}
{'Bob','Pear',2,$.35}
{'Bob','Banana',5,$.25}
{'Bob','Pear',4,$.35}
{'Eve','Grapefruit',2,$.40}
我有一个网格来显示这个商店的内容,至少有十几个功能分散在各地,这些功能可以改变这个商店,改变过滤器,从服务器重新加载数据,等等

有没有一种快速的方法来添加另一个网格,它在一行中显示每个商品,在一列中显示每个买家,以及每个人总共购买了多少此类商品?每当更新原始网格时,该网格都应更新

据我所知,这需要另一个存储,然后我必须附加到原始存储的datachanged和filterchanged事件,并每次手动填充新存储?还是有其他解决办法

编辑:正如第一个答案所建议的,我现在正在查看pivot grid,我必须稍微扩展我的示例,因为我偶然发现了一个我以前没有看到的问题:

Buyer,Good,ItemCount,ItemPrice
{'Alice','Apple',5,$.25}
{'Bob','Pear',2,$.35}
{'Bob','Banana',5,$.25}
{'Bob','Pear',4,$.35}
{'Eve','Grapefruit',2,$.40}
{{'Alice','Bob'},'Candlelight Dinner Set',1,$45}
{'Eve',{'Ski mask','Baseball bat'},1,$65}
{'Francis',{'Ski mask','Ski poles'},1,$80}
在那里,我希望晚餐在Alice和Bob上同时出现,而捆绑销售的产品将单独出现。

试着为您的目的使用:

var pivot = new Ext.grid.PivotGrid({
    store: yourStore,
    aggregator: 'sum',
    measure: 'ItemCount',
    leftAxis: [
        {
            dataIndex: 'Buyer'
        }
    ],
    topAxis: [
        {
            dataIndex: 'Good'
        }
    ]
});
官方轴心网格链接:

为什么在ExtJS 4.2文档中没有PivotGrid?会不会在Ext 4.2中不起作用?否则,它看起来太好了,我不得不进一步推动我的要求…@Alexander:我在上面添加了一些链接到Aniketos的回复。通过Sencha的公告:“Sencha Pivot Grid与ExtJS 4.1.x、4.2.x、5.0.x兼容。计划在第二季度初与5.1兼容。”@Mr.polywhill Aniketos引用的PivotGrid用于ExtJS 3,已被放弃。新的数据透视网格完全是另一回事。我最终制作了自己的实现来填充网格的存储。您的
itemPrice
值不是字符串,因此必须将它们括在引号中。货币值不是JavaScript中的本机数据类型。