如何给报表添加合计行

admin 8502次浏览

摘要:关键词:合计行 一、需求报表中有时候需要统计该列的所有数据之和,比如需要统计所有的金额总和,并在最后添加一行显示。 二、思路与方

关键词:合计行

一、需求报表中有时候需要统计该列的所有数据之和,比如需要统计所有的金额总和,并在最后添加一行显示。

二、思路与方案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字段的类型、个数、和顺序要严格保持一致

七、参考资料开发平台

学习成长中心

Algo简介

相关文章
友情链接