如何给报表添加合计行原创
5人赞赏了该文章
3,985次浏览
编辑于2022年06月24日 13:52:50
关键词:合计行
一、需求
报表中有时候需要统计该列的所有数据之和,比如需要统计所有的金额总和,并在最后添加一行显示。
二、思路与方案
algo中的dataset使用union操作,合并两个dataset结果集,并把合计行添加到最后一行
三、实现过程
1、创建单据A(kdec_bill0326)和报表(kdec_totalrow)
在单据界面添加,文本(kdec_textfield)和整数(kdec_integerfield)两个字段
图1
2、创建报表(kdec_totalrow),在列表中添加文本(name),整数(amount)
3、报表页面添加查询插件
实现代码如下:
public class AddTotalrowRepPlugin extends AbstractReportListDataPlugin { @Override public DataSet query(ReportQueryParam reportQueryParam, Object o) throws Throwable { // TODO Auto-generated method stub String selectFields = "kdec_integerfield as amount,kdec_textfield as name"; DataSet dataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "kdec_bill0326", selectFields , null, null); DataSet dataSet2 = dataSet.groupBy(null).sum("amount").finish(); DataSet ds = dataSet2.addField("'合计'","name"); //需要两个dataset进行union操作,第一个dataset是报表数据,第二个ds是自己计算的合计行数据 return dataSet.union(ds); } }
四、效果图
实现的效果图如下图2所示:
图2
五、开发环境版本
不限,本样例采用的轻量级环境,版本是: 苍穹版本号 COSMICV4.0.014.0 星瀚版本号 CONSTELLATIONV4.0.014.0
六、注意事项
union操作的第一个dataset1和第二个dataset2字段的类型、个数、和顺序要严格保持一致
七、参考资料
页面元数据及源码.zip(8.72KB)
赞 5
5人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读