RDLC+存储过程报表设计方法

合集下载

动态创建rdlc报表,绑定任意Dataset

动态创建rdlc报表,绑定任意Dataset

需求是这样的:我有一个DataSet,其中有一个DataTable,这个DataTable是根据调用存储过程不同的参数而生成的数据集,其列是可变的。

现在需要为这样的数据集做一个简单的报表。

你不可能为一个可变列的DataTable设计一个固定的rdlc报表文件,因为column是动态的,可能是2列,可能是3列,可能是10列,列名也不同,
目前的办法也只能是根据DataSet,动态创建rdlc,然后再绑定到ReportViewer上。

不知道还有其他更方便的方法。

下面两篇文章介绍了动态创建rdlc报表,绑定任意Dataset的方式,并结合xslt控制显示的样式外观,感觉还是很不错的
第二个链接是修正版本。

Generate a RDLC dynamically for the VS 2005 Report Viewer Control
Revised Dynamic RDLC Generation
我自己做了一个demo试了一下
效果还是不错的。

关于VS2010RDLC报表的详细使用说明

关于VS2010RDLC报表的详细使用说明

关于VS2010RDLC报表的详细使⽤说明各位技术屌丝们好,之前我⽤了很长⼀段时间通过不断的研究揣摩,终于把RDLC报表给搞透了,今天跟⼤家做个总结,希望能够帮助到⼤家。

需求分析我想把datagridview 中的数据打印出来。

⾸先新建⼀个winfrom 窗体第⼆部将数据填充到datagridview中现在我要做的是把datagridview中的数据打印出来。

打印之前⾸先建⽴⼀个窗⼝,专门⽤于存放打印控件注意红⾊标记的地⽅,尤其是访问级别处最好给public 避免出现访问不了现象。

图解:新建俩个⽂件夹。

report存放报表⽂件。

RDataSource存放数据源图解:新建⼀个数据源及⼀个报表⽂件。

新建⼀个数据表,主要⽤于报表上的传值。

由于我的数据源中只有俩个字段,所以在这⾥对于新增相同名称的字段,需要注意的是datatype这个地⽅,对于设置的数据类型新增表后会出现需要你选择数据源的地⽅,这个地⽅默认是引导新建,我们刚刚⼿动新增了我们的数据源所以这⾥我们选择以下图。

注意这是关键,不然你的数据获取不到。

⽤对象类型。

我们新增的数据源在对象⾥⾯会体现出来,需要注意的是只选择Rdataset (左)下⾯的不需要选择。

点击完成这⾥为了⽅便起见我起了跟数据源相同的名称。

这⾥数据源已经出来了,还有我们只新增了⼀个数据集(可⽤数据集)在dataset⾥⾯可以新增多个数据集,不过引⽤的时候需要注意下这⾥的可⽤数据集。

因为我们刚刚引⽤了数据源,所以在这⾥也已经有了。

报表的设置基本好了,这边报表的设计好不好看,完全取决于你的审美啦。

这⾥我们在datagridview中新增⼀个事件需要引⽤using Microsoft.Reporting.WinForms;基本到这⾥就算完成了,试着F5下吧。

直接打印即可啦!!!!花了⼀中午的时间做的教程,希望能够帮助到各位苦逼的程序员屌丝們,如果你看了对你有帮助的话同事也希望帮助到其他新⼿的话,请加⼊我们的群:28851380问题及处理⽅法找不到报表解决办法如果报表设置不是很⼤的话可以采⽤始终复制哦,如果很⼤的话就使⽤复制最新的。

基于RDLC的报表系统的设计和实现_孙鹏(1)

基于RDLC的报表系统的设计和实现_孙鹏(1)

Computer Knowledge and Technology 电脑知识与技术本栏目责任编辑:谢媛媛软件设计开发第8卷第19期(2012年7月)基于RDLC 的报表系统的设计和实现孙鹏,徐美红,谢国雄,李泽杰(广东省气象信息中心,广东广州510080)摘要:该文介绍了目前市场上的主流报表工具,在进行了综合分析的基础上,提出了基于RDLC 技术的报表系统的设计和实现,该平台运行于微软.NET 平台,支持C#, 开发语言,它的优点是免费、能制作各种样式复杂的报表、同时支持BS 和CS 模式、实现简单、易于部署等。

关键词:报表;RDLC ;.NET ;导出;Excel中图分类号:TP315文献标识码:A 文章编号:1009-3044(2012)19-4624-03Design and Implementation of Reporting System Based on RDLCSUN Peng,XU Mei-hong,XIE Guo-xiong,LI Ze-jie(Guangdong Provincial Meteorological Information Center,Guangzhou 510080,China)Abstract:This paper introduces the current market mainstream reporting tools,on the basis of comprehensive analysis,proposed design and implementation of reporting system based on RDLC.the platform running on the Microsoft .NET platform,support C#, de ⁃velopment language,it has the advantages of free,can make a variety of styles complex statements,support BS and CS mode at the same time,the realization of a simple,easy to deploy.Key words:Report;RDLC;.NET;Export;Excel目前市面上主要的报表软件、工具和插件不少,最主流的有水晶报表(Crystal Report ),其应用非常广泛,在不同行业、规模的应用里都可以看到它的身影。

报表设计器RDL报表操作指南

报表设计器RDL报表操作指南
报表设计器 RDL 报表操作指南
葡萄城报表提供了一个高度集成的设计器,并以可视化、代码、脚本或表达式的方式来编 辑报表。它包括一个属性窗口,可以在该窗口中设置每个元素的属性。
设计器支持三种类型的报表:RDL报表、页面报表、区域报表。本章介绍RDL报表的具体 操作。
1. RDL 报表
Rdl报表给我们提供了最大限度的报表交互能力。可以放大和缩小控件,设置交互式排序, 设置钻取报表,还可以添加指向其它报表的钻取链接和指向报表内其它区域的书签链接。下面 详细介绍RDL报表。
文本框 文本框用于显示报表数据,Table 和 Matrix 单元格中默认显示的是文本框控件,当您从报 表资源管理器中将数据字段拖拽到报表界面时,生成的也是文本框控件。您可以通过表达式来 修改数据的显示行为。
1.5 属性窗口
在设计报表时,属性窗口是非常重要的工具。可以选择任何数据区域、控件或报表本身并 在属性窗口中查看其属性。默认情况下,此窗口位于报表设计区域的右侧。您可以通过单击属 性窗口顶部的“按字母顺序”或“按类别顺序”显示属性列表。
列表 列表中可以放置其他报表控件。它会根据数据集中的数据重复地显示区域内的控件。 距表 距表支持动态数量的行和列。此功能与交叉表和数据透视表类似。 形状 形状不与具体的数据关联。可用于显示一个控件的边界,或者高亮显示报表中特定区域的 数据,支持的形状有矩形,圆角矩形和椭圆。与Container不同的是,该控件内不能放置其他 控件。 迷你图 迷你图以一个很小的图像来展示数据的趋势,支持折线、面积、堆积条形、柱状和须状图 表类型。 子报表 子报表以子报表的形式显示其他报表的内容。可以从主报表中将参数传递给子报表以实现 数据过滤。需要注意的是每个子报表都以单独的报表运行,当处理大数据报表时,这种方案可 能会影响到运行的速度,这种情况下,数据区域是更为合理的选择。 表格 表格以行为单位进行数据显示。默认情况下,表格有三行、三列。表格列的设置是在设计 时完成,行会根据数据集中的数据进行重复显示。表格默认会显示表头、明细和表尾,表头和 表尾和删除,此外您还可以添加/删除分组头和分组尾,表格的单元格默认包含一个文本框控 件,不过您可以将文本框控件替换为其他任意类型的报表控件。 文档目录 用于制作报表目录。 地图 用于制作地图报表。

[原创]RDLC报表系列(五)RDLC报表分组-大熊的空间-博客园

[原创]RDLC报表系列(五)RDLC报表分组-大熊的空间-博客园

[原创]RDLC报表系列(五)RDLC报表分组-⼤熊的空间-博客园[原创] RDLC 报表系列(五) RDLC报表分组本⽂只代表作者在⼀定阶段的认识与理解。

⼀、写作前提在我的博客园中我写了关于⼀些RDLC报表的使⽤,请参考这⾥。

因为没有时间,所以没有导⼊到我的个⼈博客中。

在博客园中相关⽂章如下:[原创] RDLC 报表系列(⼀)创建⼀个报表[原创] RDLC 报表系列(⼆)报表中插⼊图⽚[原创] RDLC 报表系列(三)参数、常量及常⽤表达式的使⽤[原创] RDLC 报表系列(四)⼦报表的使⽤⼆、本⽂内容1. 加载RDLC报表数据2. 实现数据分组3. 总结4. 代码下载(下载)三、加载RDLC报表数据我们的⽰例是要从学⽣表中,取出200条学⽣信息,然后加载到RDLC报表中。

01using System;02using System.Collections;03using System.Configuration;04using System.Data;05using System.Linq;06using System.Web;07using System.Web.Security;08using System.Web.UI;09using System.Web.UI.HtmlControls;10using System.Web.UI.WebControls;11using System.Web.UI.WebControls.WebParts;12using System.Data.SqlClient;13using System.Collections.Generic;14using System.Xml.Linq;15using Microsoft.Reporting.WinForms;16using RCLC.DataEntity;1718namespace RCLC19{20 public partial class_Default : CustomPageBase21 {22 protected void Page_Load(object sender, EventArgs e)23 {2425 }2627 protected void ButtonReportGenerate_Click(object sender, EventArgs e)29 List<ReportDataSource> reportDataSource = new List<ReportDataSource>();30 RportDataSet ds = new RportDataSet();31 string templatePath = string.Empty;32 string totalRecords = string.Empty;3334 //获得数据35 SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["LoggingConnectionString"].ConnectionString);36 SqlCommand command = conn.CreateCommand();37 mandType = CommandType.Text;38 mandText = "SELECT TOP 200 * FROM T_STUDENT";39 SqlDataAdapter da = new SqlDataAdapter(command);40 da.Fill(ds.T_STUDENT);4142 //指定报表模板43 templatePath = "ReportTemplate/StudentReport.rdlc";4445 //把获取的数据集合提供给在报表中名为RportDataSet_T_STUDENT数据集46 reportDataSource.Add(new ReportDataSource("RportDataSet_T_STUDENT", ds.T_STUDENT));47 List<ReportParameter> parameterList = new List<ReportParameter>();48 ////Generate Report,报表可以⽣成PDF,EXCEL及以其它形式,根据需求去设置49 GetReportMultipleDataSourceFile(reportDataSource, templatePath, parameterList, "pdf");50 }51 }52}上⾯的代码已经获取到200条学⽣的信息,然后把数据从数据库中取出然后加载到StudentReport.rdlc 报表中,下⾯要做的事情就是对数据进⾏分组了。

RDLC报表总结

RDLC报表总结

RDLC报表一、RDLC介绍在VS2005之前,SQL Server Reporting Services中已经提供了一种被称为报表定义语言(Report Definition Language, RDL)的语言;在VS2005中,Microsoft提供了针对这种报表的设计器,并提供了在WinForm和WebForm中使用这种报表的能力。

RDL是Report Definition Language的缩写,C代表Client-side processing,凸显了它的客户端处理能力。

从SQL Server2005开始,微软提供了一个报表服务,即Reporting Service,利用该服务部署在服务器端的报表扩展名为rdl;而通过自主生成一些数据源,在本地展现出来的报表扩展名为rdlc,这种方式称之为Local Report。

二、如何开发下面是LocalReport的开发步骤,对于ServerReport还没有进行研究。

1.新建一个Web工程,新建一个aspx页面。

2.将ReportViewer控件添加到新建的aspx页面中。

(视图—工具箱—数据—ReportViewer)VS2005的数据控件中有名为ReportViewer的控件,用于展现报表。

该控件即可以展现rdl 报表也可以展现rdlc报表。

3.新建报表文件选中web工程—右键添加—新建项—选中报表(如下图)4.创建自己的报表布局(以柱状图为例)工具箱—图表—拖放到报表文件主体中选中图表—右键—图表类型—柱形图—简单柱形图可以直接修改属性调整布局,也可以利用工具栏中的布局按钮布局(包括水平居中、垂直居中、对齐网格等)5.创建数据集(选中web工程—右键添加—新建项—选中数据集)在新建的数据集面板右键—添加—TableAdapter配好数据库连接之后,下一步,有三种选择方式:使用sql语句、新建存储过程、使用现有存储过程。

根据需求选择一种配好自己的数据源。

RDLC报表

RDLC报表

RDLC报表1.1简介在visual studio 2005之前,微软提供了一个报表服务(Reporting Service),其中也提供了报表自定义语言Report Definition Language, RDL语言),其报表定义为.rdl文件;Microsoft提供了针对这种报表的设计器,并且提供了在并提供了在WinForm和WebForm中使用这种报表的能力.微软定义了RDLC (Report Definition Language Client)也就是报表定义语言的客户端也称本地报表,该报表的后缀为.rdlc.本地报表和服务器报表存在一定的区别。

服务器报表rdl是指那些针对报表服务部署在服务器端的报表。

当报表被许多用户访问、报表以发布在报表服务器上,将其包含在所创建和部署的应用程序中、报表中有复杂的查询或者包含数据量大导致应用程序所在计算机的系统资源超载时,用报表的远程处理比较合适。

本地报表rdlc是指在本地的一些报表,在使用报表不一定要依赖于SQL Server,而是可以自主生成一些数据源然后以报表的方式显现出来。

本地处理模式的功能不及远程处理功能强大,适合中小型好报表和数据集的应用程序。

如果和rdl比较,rdlc可以看成是一个轻量级的报表。

在展现报表的时候我们需要使用到的一个控件叫ReportViewer,这种控件可以展现rdl报表,也可以展现rdlc报表。

从其属性可以看出,ReportView.ServerReport是针对rdl报表的,而ReportViewer.LocalReport是针对rdlc报表的。

1.2RDLC功能RDLC报表提供了以下主要功能:1、含有简单易用尤其是Table控件,非常方便字段在报表上的排列。

2、灵活的可定制性,用XML来实现通用的报表打印,可以用XML完全可以实现一个基于RDLC的报表设计器,这样可以让终端用户参与到报表的设计中,至少可以使他们能够修改报表中一些标题、表头等3、高度可编程性,在你的项目中,甚至不需要有一个报表文件,通过代码就可以实现报表生成、预览和打印等一系列操作;4、支持数据钻取功能;钻取报表是通过设置Navigation(HyperLink)和Parameters 来实现的,而具有子报表的钻取报表实现的功能类似Excel中数据透视表(Pivot Table)的功能,在一个复杂的交叉表中可以进行时间和商品两个维度的向下钻取。

rdlc报表制作详细步骤

rdlc报表制作详细步骤

使用RDLC报表(一)1 建立数据源启动VS2005新建一个窗体项目,命名为TestProj在左边的窗体内选择“添加新数据源”或在菜单上操作“添加新数据源”:选择后出现对话窗体,选择“数据库”,进入“下一步”:本数据源以SqlServer2000所提供的Northwind数据库为例,因此在数据库内选择驱动程序为SqlServer,具体操作视所用数据库而定(如果连接为Oracle,建议用Oracle所提供的ODP for .NET,地址:/technol ogy/global/cn/software/tech/windows/odpnet/index.html)。

选择数据源后,指定数据库文件,并进行测试,如果连接不通,请检查你的软件设置。

进行下一步,至显示出库文件内的表及视图,然后打开表,并选择其中的Employ ees,选择完成。

在数据源窗口中显示出所选择表及表内的字段,以备使用。

同时在资源管理器中,也可以看到新增加的数据文件。

2 报表浏览器在新建的窗体内,放入报表浏览控件:此报表浏览控件集成了报表查看及打印预览的功能,可直接输出至打印机,也可直接输出至Excel文件或PDF文件,对于喜欢看Excel表格的客户来说,这个报表控件非常不错。

关于此报表的来源及台前幕后的各种说法,请自己查询相关的网站。

3 建立报表文件选中报表浏览器控件后,在控件的右上角会出现一个小三角,点击后,出现一个菜单,选择“设计新报表”或在解决方案资源管理器中添加一个新的报表文件:双击“报表项”内的“表”,则设计空白表内生成一个表格,我们可以在表格内添加数据项。

此报表的设计方式类似于MS以前的VB下报表设计环境。

在报表设计器中,我将一份报表分为五个部分,从上至下为:报表标题区、列标题区、数据显示区、合计及页脚。

如果将报表的设计形式显示出页眉及页脚,报表的形式会看得更清楚些:选择页眉及页脚:显示结果:现在开始设计报表:在“页眉”区内放入一个文本框,将内容更改为“测试报表”,居中,字体放大加粗:从数据源窗口中选择合适的列,用鼠标拖到报表内的“详细信息”表格上,数据会自动填入:将设计的报表保存后,返回报表浏览窗口,并为报表浏览器选择我们设计的报表:选中报表文件后,菜单也有所改变:再为此报表文件指定数据源,选择数据源:确定,保存文件并运行测试文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RDLC+存储过程C# .Net报表设计方法
bdQuaker 2013-01-07
1RDLC+存储过程通用设计方法
测试数据库:OPMS_TEST;
存储过程:P_XXX_AliasPortCode;
RDLC+存储过程设计步骤如下:
把报表工具箱中的ReportViewer拖到WinForm窗体里;
选择“设计新报表”;
添加数据源;
在弹出的“数据源设计”窗口中,选择“数据库”,下一步;
“数据集”,下一步;
选择数据连接,下一步;
选择存储过程,在这步里我能看到我在数据库里写的存储过程selectib;
选择完成,返回选择数据源,为数据源命名DataSetHan;
为数据集命名:dsTestHan(解决方案中名称dsTestHan.xds);
在数据集设计器中,添加存储过程表适配器:添加TableAdapter;
选择数据连接;
选择命令类型:使用现有存储过程;
选择存储过程,insert、update、delete不用设置,下一步;默认设置,下一步;
完成;
报表数据窗口,新建“数据集”;
2RDLC设计原理流程图
3“Resources”参数中指定了多次
在resources 参数中指定了多次。

resources 参数不支持重复项—解决方法
做项目的时候,有时同一个项目的两个或多个窗体的功能,控件大部分都一样。

于是偷个懒,做好一个窗体后,其余的都复制过去。

到生成时会报个错误“Resources参数不支持重复项”“obj\Debug\****. ****. WinForms. ***. Frm**.resources”在“Resources”参数中指定了多次”。

本人最近也遇到了这个错误,总结了一下。

由于只是把窗体复制过去了,代码与原来的一样。

首先,要把复制的类名改成别的(public partial class和partial class两个),构造函数也要改过来,注意是自己改,不要用编辑器帮你改,不然编辑器会把原来的也改掉(包括引用),你还要把原来的再改过来。

然后是改由设计器产生的代码,修改复制的窗体下面“xxxxx.Designer.cs”文件里,“窗体设计器生成的代码”里的东西:“ ponentResourceManager resources = new
ponentResourceManager(typeof(原窗体名));”。

把里面的‘原窗体名’改为现窗体名。

(报错也就是由它引起的)。

现在重新生成是不是已经成功了。

接下来,就是把复制窗体里的一些窗体事件名修改过来。

记得把由设计器产生的添加事件的代码也改过来。

现在基本上就OK了。

如果重新生成还有错误,那就是窗体代码里或设计器产生的代码里某个地方没改过来,可以用查找找一下(ctrl+f),再改过来。

同样,复制的其他类.cs文件也需要通过这种方式手动更改名称和方法!!!。

相关文档
最新文档