ExtJS 4 在商店中按一列分组,总计另一列
ExtJS 4 group by one column in store, total another
我有一个代表银行存款的数据存储。 数据如下所示:
{ account : 'a', amount : 5 },
{ account : 'a', amount : 15 },
{ account : 'b', amount : 7 },
{ account : 'b', amount : 3 },
{ account : 'c', amount : 12 },
我想在按帐户和总金额分组的网格中显示此数据。我不想显示原始数据。只是分组的数据。
Account Total Amount
a 20
b 10
c 12
如果这是一个 sql 数据库,则查询将遵循以下行:
选择帐户,总和(金额)从TBL组中按帐户;
这在 extJS 中是否可能而无需手动操作?我似乎无法让它工作。
我已经在我的商店中调用了此方法:
store.group('account');
我的网格面板中应该显示总计的列如下所示:
{
:text => 'Total Amount',
:dataIndex => 'amount',
:summaryType => 'sum',
},
我知道该组正在做某事,因为我可以将顺序从 ASC 更改为 DESC,并且网格以不同的方式显示它。但是现在,网格仅显示所有行,没有分组。
感谢您的帮助。
恐
怕Ext JS不支持完全按照您想要的方式显示数据。
您可以使用Ext.grid.feature.GroupingSummary
功能
- 文档:http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.feature.GroupingSummary
或者,您可以通过以下方式从分组存储中获取分组数据
store.getGroups()
并手动处理它们。
- 文档: http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.data.Store-method-getGroups
相关文章:
- 柱状图后面的一列
- 数据表通过分析一列的值对其进行排序
- Datatables-如何在未显示所有列的情况下禁用表中最后一列的排序
- 获取表中每行的一列的内容,然后循环访问每个内容
- 对象数组-与其他列数据相比,增加一列
- 在最初的查询/表格绘制中只提取谷歌电子表格的一列
- jQuery Datatables:单击一列时对另一列进行排序
- 我的砖石图像只显示在一列中
- 删除“;使用javascript从pentaho中的一列中选择“[”
- 使用 Javascript 在一列中更改属性内容
- jquery插件 - 已选择 - 多项选择不在一行中列出,而是列在一列中
- 单击包含按钮的最后一列时获取表的第一列值
- 排除行选择中的最后一列
- 取消表中一列的onclick事件
- “搜索”文本仅考虑表格中的最后一列
- jqGrid有条件地创建一列
- 当第一次砌筑'项目'将所有剩余项隐藏在一列中
- 避免在rich:dataTable的某一列中出现onRowClick事件
- ExtJS 4 在商店中按一列分组,总计另一列
- Extjs网格面板一列背景另一列值的颜色变化