Sencha网格聚合商店条目

时间:2014-01-30 13:51:45

标签: 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}

我有一个网格可以显示这个商店的内容,并且至少有十几个功能散布在整个地方,可以改变这个商店,更改过滤器,从服务器重新加载数据等。

是否有一种快速的方法可以添加另一个网格,它可以显示连续的每个商品和列中的每个买家,以及每个人总共购买的商品数量是多少?无论何时更新原始网格,此网格都应更新。

我知道的方式,这需要另一个商店,然后我必须附加到originalStore的datachanged和filterchanged事件,并且每次手工填充新商店?还是有其他解决方案吗?

编辑:我现在正在看第一个答案所建议的枢轴网格,我必须稍微扩展我的例子,因为我偶然发现了一个我之前没有看到过的问题:

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}

我希望晚餐出现在爱丽丝和鲍勃身上,以及捆绑销售的产品单独出现。

1 个答案:

答案 0 :(得分:1)

尝试将PivotGrid用于您的目的:

var pivot = new Ext.grid.PivotGrid({
    store: yourStore,
    aggregator: 'sum',
    measure: 'ItemCount',
    leftAxis: [
        {
            dataIndex: 'Buyer'
        }
    ],
    topAxis: [
        {
            dataIndex: 'Good'
        }
    ]
});

官方枢纽网格链接: