欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    RDLC报表使用手册.docx

    • 资源ID:1218408       资源大小:1.30MB        全文页数:44页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    RDLC报表使用手册.docx

    1、RDLC使用总结1、 为什么要使用RDLC报表(简介)VS .NET开发中,用什么进行报表设计?可能的回答是Crystal Report,当然,必须承认Crystal Report的功能还是非常强大的,被Business Object收购以后,商业的成分也在逐渐增加,也形成了一定规模的用户群。Visual Studio .NET进入2005版本以后,Crystal Report与IDE的结合更“紧密”了,至少我们看不到那个讨厌的注册窗口了。但是,Microsoft似乎并不容忍在自己的超级工具中竟然没有报表工具,于是Report Viewer Control出现了,我把它的报表称为RDLC报表。

    2、在VS .NET 2005之前,SQL Server Reporting Services中已经提供了一种被称为报表定义语言(Report Definition Language, RDL)的语言;在VS .NET 2005中,Microsoft提供了针对这种报表的设计器,并提供了在WinForm和WebForm中使用这种报表的能力。Microsoft将这种报表的后缀定为RDLC,RDL仍然是Report Definition Language的缩写,那么C代表什么呢?C代表Client-side processing,凸显了它的客户端处理能力。这种报表的易用性和可定制性让我们完全有理由放弃C

    3、rystal Report,让我们来看看它的强大功能吧:1) 简单易用的控件,特别是Table控件,非常方便字段在报表上的排列;2) 灵活的可定制性,用XML来描述一个报表相关的一切,不用说了吧;3) 高度可编程性,在你的项目中,甚至不需要有一个报表文件,通过代码就可以实现报表生成、预览和打印等一系列操作;4) 支持DrillThrough数据钻取功能;5) 导出的Excel文件格式非常完美,而且并不需要安装Excel;6) 数据源处理极其方便,开发人员可以自己接管数据库连接、取数,然后将数据结果赋值给RDLC的数据集即可。7) 展示和数据分离,程序员更是可以编写一个RDLC设计器交有用户使用

    4、,这样用户就可以自行设计RDLC报表格式,程序员只负责定制数据接口即可。RDLC MSDN:2、 RDLC简单Demo本文所有RDLC例子都是基于VS2005 C#,所有ReportViewer的处理模式都是Local模式。本报表Demo显示上文中提到的RDLC手册各节内容,下述为Demo的详细steps。1) 新建项目,选择Windows应用程序项目类型,输入工程名称RDLCDev;2) 修改Form1窗体名称为FrmRdlcUserGuide,在工具箱数据Tab选项卡中选择ReportViewer控件,将其拖入到FrmRdlcUserGuide,默认命名为reportViewer1,调整R

    5、eportViewer控件的大小和布局;3) 在解决方案资源管理器中选择RDLCDev工程,鼠标右击RDLCDev工程,添加新建项,在添加新项模板中选择“报表”,取名为rdlcuserguide.rdlc,单击添加按钮,然后在解决方案资源管理器中RDLCDev工程下会增加一个rdlcuderguide.rdlc文件,并且会自动打开RDLC设计器;4) 在RDLC设计器中添加11个TextBox控件,1个作为标题,其余10个作为RDLC使用手册具体内容,对每个TextBox控件进行TextAlign、Color、BorderStyle、Font和TextDecoration等相关属性设置,设计完

    6、毕之后,大致如下图所示。5) 在FrmRdlcUserGuide窗体Load事件中添加下述代码 private void Form1_Load(object sender, EventArgs e) this.reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local; this.reportViewer1.LocalReport.ReportPath = rdlcuserguide.rdlc; this.reportViewer1.RefreshReport(); 6) 编译、运行RDLCD

    7、ev工程,运行结果大致如下图所示。3、 RDLC常用控件介绍RDLC设计工具箱上总共有9种控件:文本框(TextBox)、折线(Line)、表(Table)、矩阵(Matrix)、矩形(Rectangle)、列表(List)、子报表(SubReport)、图表控件(Chart)、图像控件(Image)。下图ctlsDemo.rdlc设计器所示为所有控件的设计演示。1) 由于表格控件、矩阵控件、列表控件和图表控件必须填充数据集,因此把所有控件布局完毕之后,创建一个数据集。解决方案资源管理器中,选中RDLCDev工程,右击添加新建项,在新建项类型模板里选择“数据集”,取名“ctlsDemo.xsd

    8、”,单击“添加”。ctlsDemo.xsd添加完毕之后,在解决方案资源管理器中会增加一个ctlsDemo.xsd文件,并前VS IDE会自动打开ctlsDemo.xsd设计页面。在设计页面中右击,添加Datatable,将其命名为vSales,该表描述的是产品的销售额信息,为vSales表添加列,列信息如下: ProdCatSystem.String SubCatSystem.String OrderYearSystem.Int32 OrderQtrSystem.StringSalesSystem.Double2) 文本框控件、折线控件、矩形控件使用相对简单,这里不细说;3) Image控件,

    9、现在RDLC设计器模式下,选择“报表”菜单,“嵌入图像”,在“嵌入图像”对话框中,载入一个本地图像文件即可。然后设置Image控件的Source属性为Embedded,设置Value属性为刚才处理的嵌入图像即可。当然还有别的方式可以显示图像,大家可以Google一下,关键字为RDLC、嵌入图像;4) 图表控件,使用图表控件的一个关键是要设置好图表属性页面中的数据TAB页相关内容。主要有值、类别组和序列组定义,大家可以参考Demo;5) 表格控件、矩阵控件和子报表控件,在后续内容中会详细介绍;4.1 表格控件使用介绍1) Table控件是RDLC报表显示数据的一个核心控件,关于Table控件,在

    10、微软提供的RDLC规范里有详细的介绍,其大致内容可以用下述的一张类UML图来表示;2) 新建报表文件,命名为ctlTableDemo.rdlc;3) 在ctlTableDemo.rdlc设计器中,拖入Table控件,默认情况下是3行3列,其中第1行为表头行(我们理解为列标题行),第二行为详细信息行(我们理解为报表内容展示区域),第三行为表尾行(我们理解为汇总区域)。可以整行选中,然后右击鼠标添加行或者删除行,也可以整列选中,然后右击鼠标添加或者删除列。上文中提到的数据集合有5个字段,因此需要5列来显示,为此需要增加两列。4) 在数据源窗口中(如果没有显示的话,选择【数据】菜单下的【显示数据源】

    11、即可)选择上文中创建的ctlsDemo.xsd数据集,将ProdCat、SubCat、OrderYear、OrderQtr和Sales分别拖入到Table控件的详细信息行的不同列中去。5) 设置标题行文字显示都居中,Sales的内容显示右对齐,ProdCat、SubCat、OrderYear、OrderQtr和Sales文本框的字体颜色全部设置成Blue,Sales文本框由于显示的内容为销售额,因此需设置数字显示格式,小数位数。鼠标右击Sales文本框,选择【属性】,在文本框属性窗口中,选择格式Tab页,在格式代码处,选择数字1,234.00格式即可,选择完毕之后该文本框的数字就以逗号千分位作

    12、为分割符,保留2位小数显示,效果如下图所示。6) 插入一个组实现分组统计功能。选中整行,鼠标右击,选择【插入组】,弹出分组和排序属性对话框,设置分组名称、分组方式、是否显示组头或者组尾等属性即可,本文分组设置如下:分组名称:table1_Group1分组表达式:=Fields!ProdCat.Value;=Fields!SubCat.Value;=Fields!OrderYear.Value,实现产品年度销售额汇总统计功能。不显示组头、显示组尾(至于组头、组尾是个什么样的东西,大家只要动手试一下就一目了然了)在textbox15中输入汉字“合计”,在textbox16文本框中输入合计表达式=S

    13、um(CDbl(Fields!Sales.Value),设置完之后效果如下图所示。7) 新建窗体FrmCtlTableDemo,然后在该窗体上添加ReportViewer控件,在窗体FrmCtlTableDemo代码窗口里输入以下代码: private void FrmCtlTableDemo_Load(object sender, EventArgs e) this.reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local; this.reportViewer1.LocalReport.R

    14、eportPath = rdlcctlTableDemo.rdlc; / reportViewer1.LocalReport.DataSources.Add(new ReportDataSource(ctlsDemo_vSales, LoadData(); / this.reportViewer1.RefreshReport(); private DataTable LoadData() DataSet dataSet = new DataSet(); dataSet.ReadXml(datactlsDemo.xml); return dataSet.Tables0; 8) 运行效果如下图所示

    15、4.2 矩阵控件使用介绍1) 矩阵控件主要用于显示CrossTable之类的报表,因此其列数可以是Static的,也可以是Dynamic并且Can grow的,关于矩阵控件,在RDLC协议规范里也有介绍,其大致内容可以用下图表示。2) 新建报表文件,命名为ctlMatrixDemo.rdlc;3) 在ctlMatrixDemo.rdlc设计器中,拖入Matrix控件,默认情况下是2行2列,左上角单元格为空白区域(通常用来显示报表摘要信息如产品/年度等),右上单元格显示为“列”,单击此处可以增加列分组,左下单元格显示为“行”,单击此处可以添加行分组,右下单元格显示为“数据”,单击此处可以添加静态

    16、行、静态列。 4) 在矩阵左上角单元格空白区域拖入矩形控件,然后在该矩形控件中拖入一个折线控件和两个文本框控件,折线当做矩形的对角线,两个文本框内容为产品和年度分布在折线两侧。5) 增加两个行分组,分别为matrix1_RowGroup1和matrix1_RowGroup2,matrix1_RowGroup1的表达式为=Fields!ProdCat.Value,matrix1_RowGroup2的表达式为=Fields!SubCat.Value。6) 增加两个列分组,分别为matrix1_ColumnGroup1何matrix1_ColumnGroup2,matrix1_ColumnGroup

    17、1的表达式为=Fields!OrderYear.Value,matrix1_ColumnGroup2的表达式为=Fields!OrderQtr.Value。7) 在“数据”单元格中编辑表达式=Sum(CDbl(Fields!Sales.Value)8) 设计完之后,效果如下图所示;9) 新建窗体FrmCtlMatrixDemo,然后在该窗体上添加ReportViewer控件,在窗体FrmCtlMatrixDemo代码窗口里输入以下代码: private void FrmCtlMatrixDemo_Load(object sender, EventArgs e) this.reportViewe

    18、r1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local; this.reportViewer1.LocalReport.ReportPath = rdlcctlMatrixDemo.rdlc; / reportViewer1.LocalReport.DataSources.Add(new ReportDataSource(ctlsDemo_vSales, LoadData(); / this.reportViewer1.RefreshReport(); private DataTable LoadData()

    19、DataSet dataSet = new DataSet(); dataSet.ReadXml(datactlsDemo.xml); return dataSet.Tables0; 10) 运行效果如下图所示4.3 子报表控件使用介绍子报表作为主报表的一个补充,在显示明细内容的时候比较管用,本文从如何填充子报表数据,如何传递参数两方面介绍子报表如何使用。1) 新建RDLC报表,命名为subReportDemo.rdlc;2) 在subReportDemo.rdlc设计器中,拖入一个文本框和一个子报表控件;3) 设置文本框的文本显示为“子报表控件演示”;4) 设置子报表控件属性,主要设置其“子

    20、报表”的值,这里设为上文讲到的ctlTableDemo报表,效果如下图所示;5) 新建一个窗体FrmSubReportDemo,添加如下代码 private void FrmCtlSubReportDemo_Load(object sender, EventArgs e) reportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing); / this.reportViewer1.ProcessingMode = Micros

    21、oft.Reporting.WinForms.ProcessingMode.Local; this.reportViewer1.LocalReport.ReportPath = rdlcsubReportDemo.rdlc; / reportViewer1.LocalReport.DataSources.Add(new ReportDataSource(ctlsDemo_vSales, LoadData(); / this.reportViewer1.RefreshReport(); void LocalReport_SubreportProcessing(object sender, Sub

    22、reportProcessingEventArgs e) e.DataSources.Add(new ReportDataSource(ctlsDemo_vSales, LoadData(); private DataTable LoadData() DataSet dataSet = new DataSet(); dataSet.ReadXml(datactlsDemo.xml); return dataSet.Tables0;这里,区别于其它显示RDLC报表程序的代码就是对子报表的处理,本文在FrmCtlSubReportDemo_Load事件里添加了一个对子报表事件的处理:reportV

    23、iewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);6) 关于子报表参数如何传递,在RDLC报表参数介绍一文中介绍;7) 运行效果如下图所示4、 RDLC参数介绍5.1 报表参数处理1) 修改上文提高的ctlTableDemo.rdlc报表为例,该报表用于显示产品每季度的销售额。修改该报表,给该报表添加一个参数prod_cat,用于过滤只显示产品系统为参数prod_cat值对应的产品季度销售额。2) 在ctlTableDemo

    24、.rdlc设计器中,选择【报表】菜单,【报表参数】菜单,在报表参数界面中,添加一个报表参数取名为“prod_cat_sub”,类型为String,提示信息为“输入产品系列名称”,允许空白值;3) 选中table1控件,鼠标右击,选择【属性】,选中【筛选器】Tab页,在筛选器列表中添加:=Fields!ProdCat.Value = =Parameters! prod_cat_sub.Value;4) 在FrmCtlTableDemo窗体中添加下述代码,用红色表示的2行代码: private void FrmCtlTableDemo_Load(object sender, EventArgs e

    25、) this.reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local; this.reportViewer1.LocalReport.ReportPath = rdlcctlTableDemo.rdlc; / reportViewer1.LocalReport.DataSources.Add(new ReportDataSource(ctlsDemo_vSales, LoadData(); / ReportParameter p = new ReportParameter(prod_cat

    26、_sub, Component); reportViewer1.LocalReport.SetParameters(new ReportParameter p ); / this.reportViewer1.RefreshReport(); 5) 运行结果如下图所示,显示Component产品系列的产品季度销售额;5.2 子报表参数处理1) 在程序里面,本人还未找到直接向子报表传递参数的方法,但是可以用其它的方法变通实现,在主报表的subreport控件属性里面设置参数,通过主报表传递过去。2) 以上文提到的FrmSubReportDemo为例,其主报表为subReportDemo.rdlc,

    27、先设置主报表的参数。在subReportDemo.rdlc报表设计器中选择【报表】,【报表参数】,在报表参数对话框中,增加一个参数。参数名称为prod_cat,参数类型为String,参数提示为“输入产品系列名称”。3) 选中子报表subreport1,鼠标右击,选择【属性】,选择【参数】tab页,添加一个参数。参数名称为“prod_cat_sub”,参数值=Parameters!prod_cat.Value。为此,主报表的参数名与子报表的参数名称要不一致。4) 打开subreport1对应的子报表设计器,本文为ctlTableDemo.rdlc,该ctlTableDemo.rdlc的参数在上

    28、文中已经设置,这里不再赘述。5) 运行效果如下图所示。(源码网整理:)5、 RDLC钻取功能实现本Demo在主报表会显示一个部门列表(部门ID、部门名称等),然后通过钻取功能可实现特定部门的员工信息展示,下述为具体操作步骤。1) 准备好两个数据源,本文为2个xml文件(departments.xml和Employees.xml),这两个文件放在项目的Data文件夹下,特别注意的是这两个文件的【复制到输出目录】属性要选择“始终复制”,负责工程编译的时候不会将这两个文件生成到bin目录下。2) 新建报表,命名为“drillthrough.rdlc”;新建一个数据集,命名为“departments”

    29、,在该数据集中添加一个Datatable,表结构如下:DepartmentIDInt32NameStringGroupNameStringModifiedDateDateTimerowguidString3) 在drillthrough.rdlc设计器中,拖入一个文本框和一个Table控件。文本框显示内容为“Drill Through Demo”,在Table控件中拖入DepartmentID和Name两列。4) 添加Name列的导航、钻取功能。右击Name文本框,选择【属性】,选择【导航】Tab页,在“超级链接”处选择“跳至报表”(该报表为显示钻取实现的目标报表,假设为drillthroughDetail.rdlc,且已经存在,因此在实践时,可以再本操作之前,先创建一个drillthroughDet


    注意事项

    本文(RDLC报表使用手册.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开