C#之VS自带RDLC报表学习
2015-11-15 13:23
357 查看
最近一直在忙报表, 难得今天有空,把最近捣鼓的东西总结下。
之前也是不知道怎么弄这个报表, 从来没接触过。虽然知道可以用VS原生的报表工具来做,但是,官方给出的文档还是少的可怜,网上的很多文章大多是关于 web 做报表的,很少能找到关于使用RDLC在winform中做报表的。谷歌 + 必应+ 百度,依然能找到关于winform做报表的还是很少。
说到报表,大家肯定会想到和VS结合的比较紧密的是 水晶报表了。水晶报表做出来的东西很漂亮。接着可能就是 fastreport ,它也有十多年的报表经验了,和VS衔接的也不错。还有很多其他的报表工具,这里就不枚举了。说来说去,还是没得微软原生的工具好额,毕竟是自家的东西,自家的东西能和VS做到无缝连接。微软就是强大......
我使用的是VS2010开发工具。开发语言是 C#。
![](https://img-blog.csdn.net/20151115085008670?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
看看结果:
![](https://img-blog.csdn.net/20151115084921817?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
------------------------------------步骤(中间有些步骤可以交换)
1, 当然是新建一个winform窗体应用程序。
![](https://img-blog.csdn.net/20151115085947324?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2, 在添加新项中,找到左边模版中的Reporting,在右边找到报表,报表命名随意。
![](https://img-blog.csdn.net/20151115090225122?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
添加报表完成后,界面如下图:
![](https://img-blog.csdn.net/20151115090326850?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
可以在报表的空白处,点击鼠标右键,在弹出的菜单中选择 视图->标尺 ,方便我们更好的设计报表的大小。
![](https://img-blog.csdn.net/20151115090536666?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
注意:通常,RDLC报表,若将其打印到A4的纸上:
报表最大宽度为 (上面的刻度:到16 后面的点)
![](https://img-blog.csdn.net/20151115090920826?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
报表的最大高度为(上面的刻度:到25后面的点)
![](https://img-blog.csdn.net/20151115091249643?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
我测试出来的就是这个结果, 最大高度和最大宽度应该就在 这个值附近。
3,添加完报表后,接着就可以向报表中添加控件了。一种方式是在报表空白处, 单击鼠标右键,选择 插入,
这时就可以向其中插入控件了;另一种方式是:快捷键(ctrl+Alt+x)打开工具箱,也可以,在工具箱中直接拖控件到报表上。
![](https://img-blog.csdn.net/20151115091859007?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4,带我们添加好数据后,就可以添加数据源了。
关于添加数据源,我知道的有2中方式。
1,在报表所在的工程下创建一个类,并采用泛型的方式作为报表数据源,这个方法我还不太熟悉,大家可以去官方文档看看,这个是链接
2,新建数据集。这种方法,添加的数据集可以不和报表在同一个工程下,因为在向报表上绑定数据的时候,只需要保证报表与数据集在同一个工程下即可,报表可以在其他工程中设计好后,在以 “添加现有项”的方法添加到报表所在的工程进行数据绑定。
这儿,我可能描述的不太清楚。没关系,自己亲自捣鼓下就明白了。继续往下走,
接着就添加数据源,我这里用第二种方式添加数据源,这里,数据集的名字随意,我还是使用默认的吧:
![](https://img-blog.csdn.net/20151115092946869?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
5,向数据集中添加数据集的格式。
![](https://img-blog.csdn.net/20151115093231021?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
当然,也可以点击上面图中的 “工具箱”
![](https://img-blog.csdn.net/20151115093439248?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
设计好数据集后,我们就可以向报表中添加数据了。对了。 这里在设计数据集中的列的时候,增加新列的快捷键是:ctrl+L。(不分大小写)。
6,添加报表数据。
首先,将窗口切换至 报表窗口:
![](https://img-blog.csdn.net/20151115093756047?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
接着,找到:VS的 菜单->视图->报表数据 。打开报表数据的快捷方式是:Ctrl+Alt+D(不分大小写)。Vs会弹出报表数据窗口:
![](https://img-blog.csdn.net/20151115094024316?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
然后,选择 报表数据
窗口的 新建->数据集...
![](https://img-blog.csdn.net/20151115094219373?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
(这里,其他的两种方式,我不经常使用,参数我不太会,图像,是添加本地的一张图像)
在弹出的窗口中,做如下操作。
![](https://img-blog.csdn.net/20151115094636907?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
7,点解确定后,在报表数据窗口中就有了我们刚刚添加的数据源了。
![](https://img-blog.csdn.net/20151115094807826?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
接着,我们把数据源中的项拖到 报表上指定的位置即可。
![](https://img-blog.csdn.net/20151115094955409?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
报表的工作算是做完了。
1, 回到winform设计窗口,打开工具箱,在 报表分类下找到 名为 ReportViewer的控件,将其添加到winform窗体上,调整好其大小。
![](https://img-blog.csdn.net/20151115095358547?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2,双击winform窗体 或者 按 F7 。进入到后台代码,添加下列代码:
添加下列的名称空间:
这里,请注意:
rds.Name = "DataSet1"; 这里的DataSet1是来自 下图所示的名称。
![](https://img-blog.csdn.net/20151115131933004?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3,运行程序(Ctrl + F5)看看:
之前也是不知道怎么弄这个报表, 从来没接触过。虽然知道可以用VS原生的报表工具来做,但是,官方给出的文档还是少的可怜,网上的很多文章大多是关于 web 做报表的,很少能找到关于使用RDLC在winform中做报表的。谷歌 + 必应+ 百度,依然能找到关于winform做报表的还是很少。
说到报表,大家肯定会想到和VS结合的比较紧密的是 水晶报表了。水晶报表做出来的东西很漂亮。接着可能就是 fastreport ,它也有十多年的报表经验了,和VS衔接的也不错。还有很多其他的报表工具,这里就不枚举了。说来说去,还是没得微软原生的工具好额,毕竟是自家的东西,自家的东西能和VS做到无缝连接。微软就是强大......
我使用的是VS2010开发工具。开发语言是 C#。
------------------------------------先看看结果
报表是这样设计的:看看结果:
------------------------------------步骤(中间有些步骤可以交换)
1, 当然是新建一个winform窗体应用程序。
2, 在添加新项中,找到左边模版中的Reporting,在右边找到报表,报表命名随意。
添加报表完成后,界面如下图:
可以在报表的空白处,点击鼠标右键,在弹出的菜单中选择 视图->标尺 ,方便我们更好的设计报表的大小。
注意:通常,RDLC报表,若将其打印到A4的纸上:
报表最大宽度为 (上面的刻度:到16 后面的点)
报表的最大高度为(上面的刻度:到25后面的点)
我测试出来的就是这个结果, 最大高度和最大宽度应该就在 这个值附近。
3,添加完报表后,接着就可以向报表中添加控件了。一种方式是在报表空白处, 单击鼠标右键,选择 插入,
这时就可以向其中插入控件了;另一种方式是:快捷键(ctrl+Alt+x)打开工具箱,也可以,在工具箱中直接拖控件到报表上。
4,带我们添加好数据后,就可以添加数据源了。
关于添加数据源,我知道的有2中方式。
1,在报表所在的工程下创建一个类,并采用泛型的方式作为报表数据源,这个方法我还不太熟悉,大家可以去官方文档看看,这个是链接
2,新建数据集。这种方法,添加的数据集可以不和报表在同一个工程下,因为在向报表上绑定数据的时候,只需要保证报表与数据集在同一个工程下即可,报表可以在其他工程中设计好后,在以 “添加现有项”的方法添加到报表所在的工程进行数据绑定。
这儿,我可能描述的不太清楚。没关系,自己亲自捣鼓下就明白了。继续往下走,
接着就添加数据源,我这里用第二种方式添加数据源,这里,数据集的名字随意,我还是使用默认的吧:
5,向数据集中添加数据集的格式。
当然,也可以点击上面图中的 “工具箱”
设计好数据集后,我们就可以向报表中添加数据了。对了。 这里在设计数据集中的列的时候,增加新列的快捷键是:ctrl+L。(不分大小写)。
6,添加报表数据。
首先,将窗口切换至 报表窗口:
接着,找到:VS的 菜单->视图->报表数据 。打开报表数据的快捷方式是:Ctrl+Alt+D(不分大小写)。Vs会弹出报表数据窗口:
然后,选择 报表数据
窗口的 新建->数据集...
(这里,其他的两种方式,我不经常使用,参数我不太会,图像,是添加本地的一张图像)
在弹出的窗口中,做如下操作。
7,点解确定后,在报表数据窗口中就有了我们刚刚添加的数据源了。
接着,我们把数据源中的项拖到 报表上指定的位置即可。
报表的工作算是做完了。
------------------------------------查看报表和向报表中添加数据源。
我这里的做法是动态向报表中添加数据。1, 回到winform设计窗口,打开工具箱,在 报表分类下找到 名为 ReportViewer的控件,将其添加到winform窗体上,调整好其大小。
2,双击winform窗体 或者 按 F7 。进入到后台代码,添加下列代码:
添加下列的名称空间:
using Microsoft.Reporting.WinForms;再添加下列代码
private void Form1_Load(object sender, EventArgs e) { ///----指定报表外部数据源 DataTable table = new DataTable(); table.Columns.Add("工具", typeof(string)); table.Columns.Add("语言", typeof(string)); table.Rows.Add("VS2010", "C# 4.0"); ///---添加数据源 ReportDataSource rds = new ReportDataSource(); rds.Name = "DataSet1"; rds.Value = table; ///---向报表绑定数据源 this.reportViewer1.LocalReport.DataSources.Add(rds); ///---向报表查看器指定显示的报表 this.reportViewer1.LocalReport.ReportPath = @"..\..\Report1.rdlc"; this.reportViewer1.RefreshReport(); }
这里,请注意:
rds.Name = "DataSet1"; 这里的DataSet1是来自 下图所示的名称。
3,运行程序(Ctrl + F5)看看:
相关文章推荐
- c#调用COM组件
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- C#中this的用法集锦
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#生成饼形图及添加文字说明实例代码
- C#判等对象是否相等的方法汇总
- C#简单的向量用法实例教程
- C#实现基于链表的内存记事本实例
- C#托管堆对象实例包含内容分析