[原创]Devexpress XtraReports 系列 10 创建标签报表
今天这篇是Dx Reports 基础初级系列的最后一篇了。以后如果有什么高级的应用,应该另开一个中级使用系列。
昨天发表了Devexpress XtraReports系列第九篇[原创]Devexpress XtraReports 系列 9 创建邮件合并报表,今天我们继续。
今天的主题是创建标签报表。
至于什么是标签报表呢?我也具体说不上来。
我只是个人觉得它可以用在打印产品信息(需要附图)的报表。
假如我有很多产品,老板想要看到这些产品的编号,产品的名称,还有产品的图片等信息,我们可以利用标签报表轻松地实现。
下面我展示的是以部门为例。
首先我们来看看最后实现的效果。Demo最后附上。
接下来开始讲解如何一步一步做出这个报表:
第一步
创建如上窗体,拉入控件SimpleButton,DocumentViewer,SplitContainerControl,LabelControl,TextEdit,GroupControl,简单布局我就不多说了,跟上篇一样的布局 ,详见:http://www.cnblogs.com/lhmlyx2723356/p/3286101.html
第二步
a,新创建一个报表文件。点击如图:
b,在弹出的窗体中,选择标签报表。如图:
然后一直下一步就OK了。
c,添加需要绑定的字段。如图:
第三步
我们利用数据库做一张简单的表并输入一些测试值。如图:
第四步
数据库表,布局都做好了,接下来我们就来处理相对应的事件了。输入文本框的值,点击按钮把查询出来的数据源绑定到报表
a,修改报表文件的构造函数,让它在实例化的时候可以接收数据源。
public LabelRpt(DataSet ds)
{
InitializeComponent();
this.DataSource = ds;
this.xrLabel2.DataBindings.Add("Text", ds, "dept_id");
this.xrLabel3.DataBindings.Add("Text", ds, "dept_name");
}
//为了让XRRichText控件中承载的XRPictureBox控件显示出数据库中测试数据中的jpg图片,其实这些图片是存放在程序运行目录下,如图:
那如何让图片显示出来呢?
我们应该处理XRPictureBox控件的BeforePrint 事件。
private void xrPictureBox1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
string path = System.Environment.CurrentDirectory + "\\" + GetCurrentColumnValue("pictureurl");
xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
((XRPictureBox)sender).Image = Image.FromFile(path);
}
b,获取数据源
private DataSet BindRpt()
{
DataSet ds = new DataSet();
try
{
SqlConnection con = new SqlConnection("Data Source=(local);Integrated Security=SSPI;Initial Catalog=ReportDeom");
SqlDataAdapter adapter;
con.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM Dept where dept_name=@name OR @name='' ", con);
SqlParameter[] paras = new SqlParameter[]{
new SqlParameter("@name",txtName.Text.Trim())
};
cmd.Parameters.AddRange(paras);
adapter = new SqlDataAdapter(cmd);
adapter.Fill(ds, "LabelRpt"); ;
con.Close();
}
catch (Exception ex)
{
throw ex;
}
return ds;
}
c,单击按钮,绑定数据到报表中
private void btnShowReport_Click(object sender, EventArgs e)
{
DataSet ds = BindRpt();
LabelRpt Rpt = new LabelRpt(ds);
this.documentViewer1.DocumentSource = Rpt;
Rpt.CreateDocument();
}
到此,标签报表就完成了。
Demo地址:http://yunpan.cn/QXhqJfuPK5bpt 访问密码 0e22
[原创]Devexpress XtraReports 系列 10 创建标签报表的更多相关文章
- [原创]Devexpress XtraReports 系列 6 创建并排报表
昨天我们已经介绍了如何创建交叉报表,详见:[原创]Devexpress XtraReports 系列 5 创建交叉报表 今天我们继续我们的XtraReports系列.Demo和数据库文件最后会附上. ...
- [原创]Devexpress XtraReports 系列 5 创建交叉报表
昨天我们已经介绍了如何创建多栏报表,详见:[原创]Devexpress XtraReports 系列 4 创建多栏报表 今天我们继续我们的XtraReports系列.Demo和数据库文件最后会附上. ...
- [原创]Devexpress XtraReports 系列 8 创建Drill-Through报表
哎,今天公司工作忙了一天,一直没有时间写写东西.所以只能昨天晚上加班写咯.苦逼啊...... 昨天发表了Devexpress XtraReports系列第七篇[原创]Devexpress XtraRe ...
- [原创]Devexpress XtraReports 系列 3 创建主从报表
昨天写了系列的第二篇Devexpress XtraReports 系列 2 创建表格报表 . 今天我们来继续系列 3 创建主从报表 首先我们来看看最后实现的效果.Demo最后附上. 开始吧. 第一步, ...
- [原创]Devexpress XtraReports 系列 2 创建表格报表
昨天发表了Devexpress XtraReports系列开篇,今天我们继续. 今天的主题是创建表格报表. 首先我们来看看最后实现的效果.Demo最后附上. 接下来开始讲解如何一步一步做出这个报表: ...
- [原创]Devexpress XtraReports 系列 9 创建邮件合并报表
昨天发表了Devexpress XtraReports系列第八篇[原创]Devexpress XtraReports 系列 8 创建Drill-Through报表,今天我们继续. 今天的主题是创建邮件 ...
- [原创]Devexpress XtraReports 系列 4 创建多栏报表
昨天我们完成了 [原创]Devexpress XtraReports 系列 3 创建主从报表 今天我们继续学习新的一种报表模式:多栏报表.(Demo源码,数据库最后附上) 或许很多人会问什么是多栏报表 ...
- [原创]Devexpress XtraReports 系列 7 创建Drill-Down(向下钻取)报表
昨天发表了Devexpress XtraReports系列第六篇[原创]Devexpress XtraReports 系列 6 创建并排报表,今天我们继续. 今天的主题是创建Drill-Down报表. ...
- [原创]Devexpress XtraReports 系列 1 创建静态报表
在各种管理系统中,报表是必不可少的.报表是数据最直观体现的方式之一 以前,屌丝我是微软的忠实粉丝,所以报表工具就是微软自带的RDLC... 不可否认的是RDLC的功能是非常强大的.能够满足绝大多数的要 ...
随机推荐
- 浏览器兼容的css hack
<style> div{ background:green; /* for firefox */ *background:red; /* for IE6 */ } </style&g ...
- [转]JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
首先这是现在最基本的分层方式,结合了SSH架构.modle层就是对应的数据库表的实体类.Dao层是使用了Hibernate连接数据库.操作数据库(增删改查).Service层:引用对应的Dao数据库操 ...
- Java编程思想(11~17)
[注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第十一章 持有对象 11.1 泛型和类型安全的容器>eg: List<St ...
- 生成并返回 json 结果文件
#region 生成并返回 json 结果文件 /// <summary> /// 生成并返回 json 结果文件 /// </summary> /// <param n ...
- 51nod1244 莫比乌斯函数之和
推公式.f[n]=1-∑f[n/i](i=2...n).然后递归+记忆化搜索.yyl说这叫杜教筛?时间复杂度貌似是O(n 2/3)的? #include<cstdio> #include& ...
- 【第六篇】javascript显示当前的时间(年月日 时分秒 星期)
不多说自己上代码 这是我开始学javascript写的,现在发出来 <span id="clock" ></span> function time() { ...
- 【量化】docker
查看docker docker ps docker ps -a 删除docker docker stop 8809752ca95a docker rm 8809752ca95a 打包fly cd ~/ ...
- html常用笔记
<?php //CSS可以对文本格式进行精确的控制 //HTML标记更有利于搜索引擎 //一.标签 <br> <p>//换行后插入一个空行,单字节不换行,双字节自动换行 ...
- Android EventBus源码解析
项目地址 :https://github.com/greenrobot/EventBus 这个项目个人感觉就是为了解决回调事件过多的,比方说A函数在做完以后 要调用b类的c函数,那我们通常的做法就是 ...
- Excel2007条件格式怎么用
Excel2007的条件格式功能十分的强大实用,较2003版改进十分的大,下面我们以经验记录为例做一简单的操作示范.注意前部分有二点技巧可借鉴,即不规则选取和不规则统一填充. 工具/原料 EXCEL2 ...