关于Dev报表的总结

 TopMarginReportHeaderPageHeaderGroupHeaderDetailGroupFooterPageFooterReportFooterBottomMargin.根据需求可以自定义要增加(界面右键Insert Band)、删除(界面右键Delete)。

一、 区域介绍

TopMargin:文本上边距——用来设置报表中每一页的空白上边距。

ReportHeader:报表头——是显示报表的头部,只显示一次,与报表的页数无关,只在报表的第一页的头部显示,可以包括报表名称等内容。

PageHeader:页头——内容显示在每一页的首部,第一页则显示在ReportHeader下面,一般把列名称放在这里。

GroupHerder:分组头——如果将数据分组,则GroupHeadar内容会显示在每一组分组的头部。

Detail:正文部分——再每一页的中间部分,用于数据的填充。

注:放在这里的Table不要设置上边框这样在列表显示时,不会因为边框重合而引起边框宽度增加

GroupFooter:分组尾——如果将数据分组,则GroupHeadar内容会显示在每一组分组的头部。

PageFooter:页尾——内容显示在整个报表的末尾,可以在这里放置总汇总。

ReportFooter:报表尾——内容显示在整个报表的末尾。

BottomMargin:文本下边距——用来设置报表中每一页的空白下边距。

 

二、 数据的绑定

写一个公共的方法,这样就不用每次都写一大堆类似的代码绑定数据了,例如:

public static class Common

{

public static void SetBinding(int len, XRTable table)

{

for (var i = 0; i <= len; i++)

{

var s = "C" + i.ToString("0#");

var tc = table.Rows[0].Cells[s];

if (tc == nullcontinue;

tc.DataBindings.AddRange(new[] { new XRBinding("Text"null, s) });

}

}

}

这样每次在绑定数据时就不用那么麻烦了,在后台代码添加这样一句就搞定,Common.SetBinding(8, xrTable2); 属性说明:所绑定的列数,绑定的控件

注:在这里回传的数据要是有规律的……

如果回传的数据没有规律的话,那也没关系,可以在后台代码中写一个绑定方法,给每一个单元格分别设置.DataBindings.Add"Text",数据源,绑定数据的名称);

private void SetReportData()

{

this.xrTableCell1.DataBindings.Add("Text", DataSource, "id");

this.xrTableCell2.DataBindings.Add("Text", DataSource, "name");

this.xrTableCell3.DataBindings.Add("Text", DataSource, "sex");

this.xrTableCell4.DataBindings.Add("Text", DataSource, "age");

this.xrTableCell5.DataBindings.Add("Text", DataSource, "wage");

}

 

三、 汇总实现

实现汇总,如总计、平均值、百分比、最大、最小等等

在这里以总计来做事例:首先,拖拽一个XRLabel,放在任何你想放的地方,当然我们一般放在ReportHeaderReportFooter中,点击XRlabelSummary属性,就会弹出如图所示部分


  关于Dev报表的总结

 

在这里可以分别设置绑定列(Bound field),汇总函数类型(Summary function),结果显示的字符串格式(Format String),是否忽略空值(Ignore NULL values),汇总类型(Sumarry Running)。

Sumarry Running:汇总类型有多种形式,有按组汇总,按页汇总,整个报表汇总。

汇总属性设置完毕,还要给这个控件绑定数据,在后台绑定其他控件的地方加上这句:

this.xrLabel1.DataBindings.Add("Text", DataSource, "wage");

OK这就是汇总,大功告成。

 

分类汇总

当然这只是一个简单的汇总而已,而我们正真用到的可不仅仅是这些,在做报表的时候,经常会用到分类汇总,所以在这里单独列出来。

首先,添加一个GroupHeader,在后台代码里设置这样一句代码,设要分组的绑定列

GroupHeader1.GroupFields.AddRange(new

DevExpress.XtraReports.UI.GroupField[]{new DevExpress.XtraReports.UI.GroupField("C07", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending) });

 

GroupHeader中放置一个XRLabel 绑定要分组的数据项:XRLabel2.DataBindings.Add("Text", datatable, "C07");

 

然后,根据你分组统计要现实的地方,放置一个XRLabel,一般放在每次分组后的下一行,如图:

 

关于Dev报表的总结


这样的话,就把XRLabel放在GroupFooter中对应的地方

xrLabel3.DataBindings.Add("Text", datatable, "所要合计的列的数据项");


转载http://blog.sina.com.cn/s/blog_af534f0001014dwk.html

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值