[原创]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最后附上. 接下来开始讲解如何一步一步做出这个报表: ...
随机推荐
- 高性能流媒体服务器EasyDSS前端重构(四)- webpack + video.js 打造流媒体服务器前端
接上篇 接上篇<高性能流媒体服务器EasyDSS前端重构(三)- webpack + vue + AdminLTE 多页面引入 element-ui> 本文围绕着实现EasyDSS高性能流 ...
- SQL中的四种连接方式
转自:http://www.cnblogs.com/afirefly/archive/2010/10/08/1845906.html 联接条件可在FROM或WHERE子句中指定,建议在FROM子句中指 ...
- java array
1 array变量 Type[] array_virable_name; 2 array对象 2.1 new Type[] array_virable_name = new Type[NUM]; 2. ...
- Activity设置style透明后与SurfaceView合用引发的无形命案
近期搞视频通话,SurfaceView是不可缺少的,因为启动视频要载入一些资源,比較耗时.会有1.2s黑屏的现象,为了改善用户体验,我们须要设置Activity的Theme为透明风格(QQ 也是如此) ...
- centos 7 PostgreSQL一些简单问题以及解决办法
问题:org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are corre ...
- 微信小程序上传项目到github
Step1:点击使用版本控制 点击开发工具右上角的版本控制按钮 Step2:点击初始化本地仓库: 等待初始化结束 Step3:在github新建仓库 Step4: 配置git用户密码或ssh: Ste ...
- iOSapp内跳转到设置界面
从app内跳转到设置界面的代码如下: NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; if ([[UIAp ...
- logback 配置详解(下)
logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写 ...
- Laravel5.5执行表迁移命令出现表为空的解决方案
今天在使用一个第三方包 laravel-admin 时,出现了这样的错误:SQLSTATE[42000]: Syntax error or access violation: 1103 Incorre ...
- 使用valgrind进行内存泄漏和非法内存操作检测
valgrind是一个强大的工具,最常用的功能是用它来检测内存泄漏和非法内存的使用.要想让valgrind报告的更加细致,请使用-g进行编译. 基本命令如下: $ valgrind --tool=me ...



(此图报表头为灰色是因为我已经添加好了,一个报表只能拥有一个报表头)