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