(转) C#之VS自带RDLC报表学习

时间:2023-03-09 18:37:22
(转) C#之VS自带RDLC报表学习

原文地址:http://blog.****.net/hk_5788/article/details/49846905  原文工具VS2010,测试版本工具VS2013

报表是这样设计的:

(转) C#之VS自带RDLC报表学习

看看结果:

(转) C#之VS自带RDLC报表学习

------------------------------------步骤(中间有些步骤可以交换)

1, 当然是新建一个winform窗体应用程序。

(转) C#之VS自带RDLC报表学习

2, 在添加新项中,找到左边模版中的Reporting,在右边找到报表,报表命名随意。

(转) C#之VS自带RDLC报表学习

添加报表完成后,界面如下图:

(转) C#之VS自带RDLC报表学习

可以在视图->标尺 ,方便我们更好的设计报表的大小。

注意:通常,RDLC报表,若将其打印到A4的纸上:

报表最大宽度为 (上面的刻度:到16 后面的点)

(转) C#之VS自带RDLC报表学习

报表的最大高度为(上面的刻度:到25后面的点)

(转) C#之VS自带RDLC报表学习

测试出来的就是这个结果, 最大高度和最大宽度应该就在 这个值附近。

3,添加完报表后,接着就可以向报表中添加控件了。一种方式是在报表空白处, 单击鼠标右键,选择 插入,

这时就可以向其中插入控件了;另一种方式是:快捷键(ctrl+Alt+x)打开工具箱,也可以,在工具箱中直接拖控件到报表上。

(转) C#之VS自带RDLC报表学习

4,带我们添加好数据后,就可以添加数据源了。

关于添加数据源,我知道的有2中方式。

1,在报表所在的工程下创建一个类,并采用泛型的方式作为报表数据源,这个方法我还不太熟悉,大家可以去官方文档看看,这个是链接

2,新建数据集。这种方法,添加的数据集可以不和报表在同一个工程下,因为在向报表上绑定数据的时候,只需要保证报表与数据集在同一个工程下即可,报表可以在其他工程中设计好后,在以 “添加现有项”的方法添加到报表所在的工程进行数据绑定。

这儿,我可能描述的不太清楚。没关系,自己亲自捣鼓下就明白了。继续往下走,

接着就添加数据源,我这里用第二种方式添加数据源,这里,数据集的名字随意,我还是使用默认的吧:

(转) C#之VS自带RDLC报表学习

5,向数据集中添加数据集的格式。

(转) C#之VS自带RDLC报表学习

当然,也可以点击上面图中的 “工具箱”

(转) C#之VS自带RDLC报表学习

设计好数据集后,我们就可以向报表中添加数据了。对了。 这里在设计数据集中的列的时候,增加新列的快捷键是:ctrl+L。(不分大小写)。

6,添加报表数据。

首先,将窗口切换至 报表窗口:

(转) C#之VS自带RDLC报表学习

接着,找到:VS的   。打开报表数据的快捷方式是:Ctrl+Alt+D(不分大小写)。Vs会弹出报表数据窗口:

窗口的  新建->数据集...

(转) C#之VS自带RDLC报表学习

(这里,其他的两种方式,我不经常使用,参数我不太会,图像,是添加本地的一张图像)

在弹出的窗口中,做如下操作。

(转) C#之VS自带RDLC报表学习

7,点解确定后,在报表数据窗口中就有了我们刚刚添加的数据源了。

(转) C#之VS自带RDLC报表学习

接着,我们把数据源中的项拖到 报表上指定的位置即可。

(转) C#之VS自带RDLC报表学习

报表的工作算是做完了。

------------------------------------查看报表和向报表中添加数据源。

我这里的做法是动态向报表中添加数据。

1, 回到winform设计窗口,打开工具箱,在  报表分类下找到 名为 ReportViewer的控件,将其添加到winform窗体上,调整好其大小。

(转) C#之VS自带RDLC报表学习

2,双击winform窗体  或者  按 F7 。进入到后台代码,添加下列代码:

添加下列的名称空间:

  1. using Microsoft.Reporting.WinForms;

再添加下列代码

  1. private void Form1_Load(object sender, EventArgs e)
  2. {
  3. ///----指定报表外部数据源
  4. DataTable table = new DataTable();
  5. table.Columns.Add("工具", typeof(string));
  6. table.Columns.Add("语言", typeof(string));
  7. table.Rows.Add("VS2010", "C# 4.0");
  8. ///---添加数据源
  9. ReportDataSource rds = new ReportDataSource();
  10. rds.Name = "DataSet1";
  11. rds.Value = table;
  12. ///---向报表绑定数据源
  13. this.reportViewer1.LocalReport.DataSources.Clear();//注,使用原文代码上测试,数据一直不显示,后来添加了这句代码,代码出现了。MS真坑。
  14. this.reportViewer1.LocalReport.DataSources.Add(rds);
  15. ///---向报表查看器指定显示的报表
  16. this.reportViewer1.LocalReport.ReportPath = @"..\..\Report1.rdlc";
  17. this.reportViewer1.RefreshReport();
  18. }

这里,请注意:
DataSet1是来自  下图所示的名称。

(转) C#之VS自带RDLC报表学习

3,运行程序(Ctrl + F5)看看:

(转) C#之VS自带RDLC报表学习

其它资源:http://blog.****.net/GoodShot/article/details/8196099