数据报表开发技巧:自动为数据报表添加【小计】、【总计】行

  在开发ERP系统的数据报表时,几乎都是需要看到【小计】、【总计】这样的汇总数据的,在数据报表的显示列表中,最下面的一行通常就是【小计】或者【总计】的汇总行。如果手动为每个报表都增加汇总行,那也是一份不小的工作量。

  所以,如果能自动为每个数据报表自动添加【小计】、【总计】汇总行,那将可以节省不少的开发时间。本文将给出实现这种方案的思路原理以及源码。

  本文中,报表数据的显示使用的是WinForm的DataGridView控件,如果是Web项目,其原理和思路是一样的。

  举个栗子,零售店POS机上查询销售单的效果如下图所示:

  

数据报表开发技巧:自动为数据报表添加【小计】、【总计】行

  在报表的最下面有一行【总计】,对数量和金额项进行了汇总。

  下面,我们来详细讲解是如何自动为其添加【总计】这一汇总行的。

 

一.基本原理

1.一般而言,数据报表的现实的核心数据是DataGridView绑定的一个列表List<T>,每一个T对象对应着报表中的一行数据。

2.在数据报表中,【小计】、【总计】所对应的汇总行与上面列表中的其它普通行,是有区别的,所以,它们对应的T对象也是有区别的。

3.我们通过T的一个名为 IsStatistics 的bool属性来区别普通行与汇总行。如果IsStatistics为true,表示其对应的行就为汇总行。

4.为了达到上面描述的这一目的,我们让T必须实现接口IStatisticabled这个接口。

public interface IStatisticabled { bool IsStatistics { set; get; } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypjyp.html