zoukankan      html  css  js  c++  java
  • 链接报表

     前一段时间,发了几篇关于RDLC报表的随笔,由于这些随笔中没有关于报表设计方面的内容,于是不少网友和我联系,问了一些关于报表设计方面的问题,最近准备写几篇关于RDLC报表设计的随笔。

        这篇随笔主要描述实现钻取报表的步骤。

        钻取报表的数据源应该是两个具有主子关系的表,在这篇随笔中以Northwind数据库中的订单和订单明细作为数据源。

        1、在Visual Studio 2005中创建一个Windows应用程序RDLCDR。

        2、在项目中添加数据源,数据源并不一定用来为报表提供数据(当然Visual Studio 2005提供的操作非常方便),主要是在报表设计时可以方便向报表中进行字段拖曳。添加数据源意味着在项目中添加了一个数据集Orders.xsd文件,当报表的数据不是来源于关系型数据库(如Flat Files或Web Services等)时,我们可以自己定义一个xsd文件作为报表设计时的数据源,而在程序中重新为报表载入数据。

        3、在项目中添加报表rptOrder.rdlc,这个报表非常简单,不具体介绍其设计步骤。报表文件中将显示“订单”的内容,其结构如下图1所示:


    图1  “订单”报表的结构

        4、同上,添加报表rptOrderDetails.rdlc,其结构如下图2所示:


    图2  “订单明细”报表的结构

        5、在报表rptOrder.rdlc中,选中表控件的“表详细信息”行的第一列“=Fields!订单ID.Value”单元格,右键“属性”弹出“文本框属性”对话框(如图3所示),在“导航”选项卡的“超链接操作”中,选中“跳至报表”并在下拉列表中选择报表rptOrderDetails,单击下拉列表右边的“参数...”按钮,进行入图4所示的设置。


    图3  “文本框属性”对话框


    图4  “跳至报表”参数设置

        6、在报表rptOrderDetails中,使用菜单“报表”  →“报表参数”进入“报表参数”对话框,并如下图5所示设置参数orderid,这个参数主要用于从rptOrder接收传值。


    图5  报表参数orderid设置(点击小图看大图)

        7、选中报表rptOrderDetail中的表格控件,右键“属性”,进入“表属性”对话框,在“筛选器”选项卡中,设置如下图6所示的筛选器。在构造筛选器时,最好使用“编辑表达式”对话框生成表达式,除非足够熟悉,否则,手写表达式很可能会出现错误,例如表达式前面一定要有“=”。


    图6  筛选器设置

        OK,至此,报表设计需要做的内容就完成了,下面是如何为报表提供数据,并显示在ReportViewer中了。

        8、在WinForm窗体上放置ReportViewer控件,并单击控件右上角的三角符号,弹出“ReportViewer 任务”对话框中(图7),选择报表RDLCDR.rptOrder.rdlc。如果前面提到的数据集文件(.xsd文件)是由系统自动生成的话,系统会自动为窗体生成DataAdapter、BindingSource和DataSet,删除之,我们在下面的步骤中手动指定报表的数据源,否则可能会出现报表不报错,但报表内无数据的情况。


    图7  ReportViewer任务对话框

        9、在窗体中使用下图8所示的代码为报表和钻取报表指定数据源,完成最后的操作。需要注意的是下图8中的“数据集名称”必须指定正确,而这个名称可以从下图9所示的对话框中取得。


    图8  指定数据源的代码(点击小图看大图)


    图9  “数据集名称”的出处

        结果截图如下:


    图10  “订单”报表


    图11  “订单明细”钻取报表

        Demo下载

        另外,在Web应用程序中,也可以使用此方法建立DrillThrough报表,不过代码中的Microsoft.Reporting.WinForms.ReportDataSource要改为Microsoft.Reporting.WebForms.ReportDataSource。

  • 相关阅读:
    Meten Special Activities II
    Meten Special Activities II
    Meten Special Activities II
    Meten Special Activities II
    Meten Special Activities
    Meten Special Activities
    Meten Special Activities
    Meten Special Activities
    Meten Special Activities
    冒泡排序和选择排序
  • 原文地址:https://www.cnblogs.com/kelly/p/1322250.html
Copyright © 2011-2022 走看看