(转) C#之VS自带RDLC报表学习
原文地址:http://blog.csdn.net/hk_5788/article/details/49846905 原文工具VS2010,测试版本工具VS2013
报表是这样设计的:
看看结果:
------------------------------------步骤(中间有些步骤可以交换)
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.Clear();//注,使用原文代码上测试,数据一直不显示,后来添加了这句代码,代码出现了。MS真坑。
- this.reportViewer1.LocalReport.DataSources.Add(rds);
- ///---向报表查看器指定显示的报表
- this.reportViewer1.LocalReport.ReportPath = @"..\..\Report1.rdlc";
- this.reportViewer1.RefreshReport();
- }
这里,请注意:
DataSet1是来自 下图所示的名称。
3,运行程序(Ctrl + F5)看看:
其它资源:http://blog.csdn.net/GoodShot/article/details/8196099
(转) C#之VS自带RDLC报表学习的更多相关文章
- 【机房系统知识小结】微软自带RDLC报表,数据汇总设计
在做机房系统报表的时候,借鉴 八期崔成龙学长的博客< VB.NET rdlc 报表的使用>,照虎画猫的敲了一遍,但是在“汇总项”中,出现了一点小问题. 具体的设计方法在这里就不做介绍了,请 ...
- RDLC报表学习
RDLC报表由以下三部分构成: 1.制作自己的DateSet集合(就是报表的数据集): 2.制作自己的报表文件.rdlc文件,用于画做报表样式,里面有微软自带的导出和打印功能,其实就为了少做这2个功能 ...
- ASP.NET MVC应用程序展示RDLC报表
原文:ASP.NET MVC应用程序展示RDLC报表 学习ASP.NET MVC这样久,在学习,练习与应用过程中,觉得很多知识与以前的ASP.NET多有区别,但是实现操作起来,细处又有许多相近的地方. ...
- DevExpress的XtraReport和微软RDLC报表的使用和对比
我们开发程序的时候,经常会碰到一些报表,如果是Winform的报表,一般可以采用DevExpress控件组的XtraReport,或者微软的RDLC报表,当然还有一些其他的,在此不再赘述.由于本人在W ...
- C#制作RDLC报表
报表以前我只做过水晶报表,但是最近发现家里的VS上面居然没有水晶报表,发现水晶报表现在貌似已经不能完全免费的使用了,为了保险起见,就用了VS自带的RDLC报表,用完感觉其实也是够用的嘛~ 建立一RDL ...
- 动态生成RDLC报表
前段时间,做了RDLC报表,主要是三块功能: 1.从DataGrid提取(包括最新的增删改)的数据,自动生成对应的RDLC报表文件(以流的形式驻存在内存中),用ReportViewer类来展示.打印. ...
- C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法
初学c#,因最近公司客户要求原出货标签需实现条码化,练手的机会来了,遂动手做这个程序,开始都是一些增删改查操作一直很顺利,但到RDLC报表将条码显示到报表上犯难了,因为初学未接触过报表,上网查资料均一 ...
- RDLC系列(一)ASP.NET RDLC 报表自定义数据源
最近一段时间开发ERP系统中要用到不少报表打印,在网上找了一圈发现想些好用的报表控件大部分要收费,一些面免费要么不好用要么IE8不兼容,最后还是用了微软自带的RDLC报表,把自己遇到的坑和技巧整理分享 ...
- VS2015 怎么安装RDLC报表模板?
这几天刚好用到微软自带的RDLC报表,但是在VS2015张找了一圈也没找,难道是我VS版本 不支持,在网上查了下,有的人说VS2015社区版,企业版不支持,只有专业版支持,各说不一,想想不科学呀,微软 ...
随机推荐
- 设置 sideload Outlook Add-ins
上期,我们讲到了用前端技术去建立一个outlook add-ins 我们今天来讲解一下怎样测试一个sideload outlook add-ins. 1. 我们需要登录Outlook在Office 3 ...
- 通过阅读python subprocess源码尝试实现非阻塞读取stdout以及非阻塞wait
http://blog.chinaunix.net/uid-23504396-id-4661783.html 执行subprocess的时候,执行不是问题最麻烦的是获取进程执行后的回显来确认是否正确执 ...
- C# 装箱
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 读DataSnap源代码(三)
function TWebRequestHandler.HandleRequest(Request: TWebRequest; Response: TWebResponse): Boolean; va ...
- FireDAC内部初探
procedure TForm1.Button1Click(Sender: TObject); var FCommIntf: IFDPhysCommand; //FireDAC.Phys.Intf F ...
- Linux常用命令之定时任务
定时任务的实现,可以让我们把很多重复的,有规律的事情交给机器做.我们就不用苦逼的烦躁做同一件事,这样也让我们做程序的有更多的乐趣和价值.用技术的手段解决常人花时间精力解决的问题.在Linux下实现定时 ...
- Docker的一些概念
Docker的一些概念 2.1 什么是Docker? 说实话关于Docker是什么并太好说,下面我通过四点向你说明Docker到底是个什么东西. Docker 是世界领先的软件容器平台. Docker ...
- laravel5.5的任务调度(定时任务)详解(demo)
https://blog.csdn.net/LJFPHP/article/details/80417552 laravel5.5的定时任务详解(demo) 这篇文章写得挺详细的.看了它我基本就会用了 ...
- 常用的几个vagrant命令
$ vagrant init # 初始化 $ vagrant up # 启动虚拟机$ vagrant halt # 关闭虚拟机$ vagrant reload ...
- servlet.xml 出现 Referenced file contains errors(http://.......)
问题描述: 打开Eclipse突然发现Web工程的servlet.xml突然报了红叉叉,错误信息如下: Referenced file contains errors (http://www.spri ...