在我们使用DevExpress开发报表的过程中,对于页面中复杂的数据合计,我们可能会使用到自定义Summary.下面通过一个例子来进行说明:
首先,我建立了如上图所示的报表页面,其中的数据源来自class列表,其中处的lbST使用了对当前Group的Sum,
处的XRLabel控件使用了对整个Report的Sum。为了测试的方便,该例子使用汇总lbCP的值与位于Group列表中lbST的值来进行演示,其中,GroupField为MedinineName,lbGrandTotal为总计。具体操作如下所示:
1. 设置lbGrandTotal的Summary为Custom;
2. 查看当前Report的代码,然后在代码中定义变量AC_GrandTotal:
private double AC_GrandTotal = 0;
3. 为控件lbCP添加事件SummaryReset和TextChanged:
private void lbCP_SummaryReset(object sender, EventArgs e) { AC_GrandTotal = 0; } private void lbCP_TextChanged(object sender, EventArgs e) { if (lbCP.Text != "") { AC_GrandTotal += Convert.ToDouble(lbCP.Text); } }