[原创]Devexpress XtraReports 系列 1 创建静态报表
在各种管理系统中,报表是必不可少的。报表是数据最直观体现的方式之一
以前,屌丝我是微软的忠实粉丝,所以报表工具就是微软自带的RDLC。。。
不可否认的是RDLC的功能是非常强大的。能够满足绝大多数的要求。
但是程序猿的天性就是爱折腾,爱摸索,喜欢玩点新东西,所以我就想边学边写一个XtraReport 系列。当然也是因为看到我们伟大的Dx论坛没有人写,自己就当一次敢于吃螃蟹的人。哈哈。
所以,就从今天开始咯,有空就写写,每次都会附上Demo。菜鸟写的,有不对的希望指正。
注:XtraReports 系列是根据XtraReport帮助文档示例来写的,因为我觉得帮助文档都是按照向导方式去配置数据源,这与我们实际不是很相符,我们一般都是以代码方式去获取数据源,所以我就利用代码的形式去重新构造一边Xtrareport示例。
开始咯。。。
接下来我来完成帮助文档中最简单的一个示例。一步一个脚印,从入门到入门++
什么叫静态报表,个人的理解是:静态报表显示的数据是从一个文本文档或者Word文档中获取出来的。
先来看看效果:
第一步,新建一个Windows窗体,然后拉一个SplitContainerControl 控件,Dock属性设置为Full ,Horizontal属性设置为False
第二步,拉一个GroupControl控件,设置Text为查询区域,并拖一个SimpleButton控件,设置Text属性为显示静态报表
第三步,拖拉一个DocumentViewer控件,Dock属性设置为Full
第四步,窗体布局完成了,我们接下来就新建一个报表
如图:
在新建的报表中选中报表空白区域右键单击,然后插入报表头
(此图报表头为灰色是因为我已经添加好了,一个报表只能拥有一个报表头)
在报表头中拉入一个XRLabel,设置Text为静态报表。
第五步,在报表Detail区域拖入一个XRRichText控件用来承载获取的静态文本数据。
第六步,窗体跟报表都建立好了之后,我们就来处理事件了。
有时候我们可能需要重复打印我们获取出来的静态数据。怎么让它重复20次呢?我们可以设置报表属性如下:
this.ReportPrintOptions.DetailCountOnEmptyDataSource = 20; (适用于13.1.5)
在帮助文档10.2版本中的方式是:选中报表,并在 属性 窗口把它的 XtraReportBase.DetailPrintCount 属性设置为 20。
第七步,如果想把数据分开打印在各自的页面上,则把 Detail 带区的 Band.PageBreak 属性设置为 AfterBand。(通用)
或者利用代码方式:this.Detail.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBand;
第八步,为报表获取数据源:this.xrRichText1.LoadFile(System.Environment.CurrentDirectory + "\\Rpt.docx"); //在程序运行的根目录下有一个Rpt.doxc的文档
最后一步,点击按钮,让报表显示在DocumentViewer上
private void btnShowReport_Click(object sender, EventArgs e)
{
StaticRpt Rpt=new StaticRpt();
this.documentViewer1.DocumentSource = Rpt;
Rpt.CreateDocument();//注:如果利用documentViewer1 的时候,就没有了ShowPreview事件了。http://www.devexpress.com/Support/Center/Question/Details/Q508388
}哈哈。就这样了,大功告成。。
最后为屌丝送福利。。嘿嘿。。
总结:写这个东西不容易啊。。。。花了好长时间,要自己先做一遍,然后写一遍。万事开头难,慢慢来吧。从最简单的开始。。慢慢深入。。。
Demo地址:http://yunpan.cn/QXkUjaumGttqG 访问密码 f8cf
[原创]Devexpress XtraReports 系列 1 创建静态报表的更多相关文章
- [原创]Devexpress XtraReports 系列 4 创建多栏报表
昨天我们完成了 [原创]Devexpress XtraReports 系列 3 创建主从报表 今天我们继续学习新的一种报表模式:多栏报表.(Demo源码,数据库最后附上) 或许很多人会问什么是多栏报表 ...
- [原创]Devexpress XtraReports 系列 5 创建交叉报表
昨天我们已经介绍了如何创建多栏报表,详见:[原创]Devexpress XtraReports 系列 4 创建多栏报表 今天我们继续我们的XtraReports系列.Demo和数据库文件最后会附上. ...
- [原创]Devexpress XtraReports 系列 6 创建并排报表
昨天我们已经介绍了如何创建交叉报表,详见:[原创]Devexpress XtraReports 系列 5 创建交叉报表 今天我们继续我们的XtraReports系列.Demo和数据库文件最后会附上. ...
- [原创]Devexpress XtraReports 系列 7 创建Drill-Down(向下钻取)报表
昨天发表了Devexpress XtraReports系列第六篇[原创]Devexpress XtraReports 系列 6 创建并排报表,今天我们继续. 今天的主题是创建Drill-Down报表. ...
- [原创]Devexpress XtraReports 系列 8 创建Drill-Through报表
哎,今天公司工作忙了一天,一直没有时间写写东西.所以只能昨天晚上加班写咯.苦逼啊...... 昨天发表了Devexpress XtraReports系列第七篇[原创]Devexpress XtraRe ...
- [原创]Devexpress XtraReports 系列 9 创建邮件合并报表
昨天发表了Devexpress XtraReports系列第八篇[原创]Devexpress XtraReports 系列 8 创建Drill-Through报表,今天我们继续. 今天的主题是创建邮件 ...
- [原创]Devexpress XtraReports 系列 10 创建标签报表
今天这篇是Dx Reports 基础初级系列的最后一篇了.以后如果有什么高级的应用,应该另开一个中级使用系列. 昨天发表了Devexpress XtraReports系列第九篇[原创]Devexpre ...
- [原创]Devexpress XtraReports 系列 3 创建主从报表
昨天写了系列的第二篇Devexpress XtraReports 系列 2 创建表格报表 . 今天我们来继续系列 3 创建主从报表 首先我们来看看最后实现的效果.Demo最后附上. 开始吧. 第一步, ...
- [原创]Devexpress XtraReports 系列 2 创建表格报表
昨天发表了Devexpress XtraReports系列开篇,今天我们继续. 今天的主题是创建表格报表. 首先我们来看看最后实现的效果.Demo最后附上. 接下来开始讲解如何一步一步做出这个报表: ...
随机推荐
- 《Java设计模式》之构建者模式
概述: 构造者模式(Builder Pattern):构造者模式将一个复杂对象的构造过程和它的表现层分离开来.使得相同的构建过程能够创建不同的表示,又称为生成器模式. Bu ...
- c# 根据枚举Value 获得名称
// 定义枚举类型enum sotype : int { book=1, pen=2, other=3 } // 输出名称 switch (Enum.GetName(typeof(sotype), 1 ...
- 多线程快速解压FastZipArchive介绍
本文转载至 http://blog.csdn.net/xunyn/article/details/12975937 多线程解压iosfast 在iOS项目中用到解压缩,用的是ZipArchive ...
- SPOJ SUBLEX - Lexicographical Substring Search 后缀自动机 / 后缀数组
SUBLEX - Lexicographical Substring Search Little Daniel loves to play with strings! He always finds ...
- centos7 安装jdk9 总结
升级jdk, 从jdk8 升级到jdk9 1:卸载jdk8: 1〉 [root@localhost conf.d]# rpm -qa|grep java javapackages-tools-3.4. ...
- 【linux】crontab的环境变量问题
今天遇到一个奇怪的问题,同样一个脚本,手动执行没问题,加入到crontab中,就出现无法运行的情况,第一反应是环境变量问题 环境说明: 操作系统:centos 用户:test用户通过sudo su切换 ...
- 最新App Store审核指南与10大被拒理由
最近,苹果在官网给出了截至2015年2月份应用被拒绝的十大理由,其中50%以上的应用被拒绝都是因为这10个原因,其中7个理由和2014年相同,其中排名前三的原因分别是:需要补充更多信息.存在明显的bu ...
- EASYARM-IMX283 nfs启动内核和根文件系统
EASYARM-IMX283(以下简称IMX283)默认采用从nand flash启动,但是在开发过程中因为要频繁的替换内核,我们更倾向于从nfs启动. 先看看IMX283中uboot中默认采用的启动 ...
- python根据圆的参数方程求圆上任意一点的坐标
from math import cos, sin,pi x0,y0=0,0 r=4.0 angle=-25 x1 = x0 + r * cos(angle * pi / 180) y1 = y0 + ...
- win7 jenkins搭建.Net项目自动构建
前提:操作系统win7, 确保需要的.NET Framework已经安装 1. 安装插件 Jenkins--系统管理局--管理插件--可选插件,搜索MSBuild Plugin并安装:重启tomcat ...