zoukankan      html  css  js  c++  java
  • 在web项目中如何使用rdlc报表

    引言: 以前在web项目中用到报表的时候 我们使用的是ReportServices (服务器端的)

    使用效果还可以 缺点是: 需要在Sqlserver2005里面建立报表(需要 启动报表服务 设置权限等很繁琐)

    感觉不如在程序里面来的直接和方便(以前一直没有找到办法)

    一直到2010年底,一家客户 装的是Sqlserver2008 (原来做的自动发布报表 使用的是Sqlserver里面的一些Webservices函数)

    但Sqlserver2008里面没有这些方法了 (只有接口的名称 没有实现)

    我们报表的自动发布没法做了 只得打开Sqlserver 一个一个报表添加的 (郁闷...)

    后来 我们一个同事(李来)做的Web报表(rdlc格式) 在本地做的(Web工程里面) 没有使用Sqlserver 里面的

    这样就很方便了 下面我举例说明一下用法:

    1.  建立一个文件夹(就举个例子是RDLC文件夹吧)

    在项目上 右键选择添加/新建项 /报表 (新建立一个rdlc文件)

    至于这个文件怎么使用  和 服务器端的(Sqlserver)相同 我省略....

    数据源使用( 第二步建立的XSD数据源 在下面会有介绍 )

    2. 建立一个文件夹(就举个例子是XSD文件夹吧)

    在项目上 右键选择添加/新建项 /数据集 (新建立一个xsd文件)

    在这个临时表里面增加列

    3. 新建立一个aspx网页 选择ReportViewer 控件

    <%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
        Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

      <rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt"
            Height="400px" Width="400px">
            <LocalReport>
            </LocalReport>
        </rsweb:ReportViewer>

    4. 在后台代码里面

                ReportViewer1.LocalReport.ReportPath = @"rdlc\Report1.rdlc";

                //如何传参数

                ReportParameter myParameter = new ReportParameter("参数01", "参数的值");
                ReportParameter[] myParameterList = { myParameter };

                ReportViewer1.LocalReport.SetParameters(myParameterList);
                //

                //DataSet1_DataTable1 指的是报表文件中数据源的名称

        //myDataSet 指的是数据源(就是您从数据库里面查询出来的数据)

                ReportDataSource rds = new ReportDataSource("DataSet1_DataTable1", myDataSet.Tables[0]);
                ReportViewer1.LocalReport.DataSources.Clear();
                ReportViewer1.LocalReport.DataSources.Add(rds);
                ReportViewer1.LocalReport.Refresh();

    5. 如果不知道报表的数据源的名称的话

      您在aspx页面上 单击ReportViewer1的右上角 选择一个本地数据源 /选择数据源

    其中的报表数据源 就是数据源的名称

    结束语:

    到此 就可以试运行一下您的web报表了

    这个报表还可以直接在网页里面调用客户端的打印机(在vs2010里面试验的)

    2011年3月29日19:38:55 过了好几天 再补充一下:

    <1> XSD文件的文件夹好像有要求 如果放到一个文件夹里面 就找不到 xsd数据源(不应该啊) 不过这个细节也是个经验

    <2> 报表的DLL版本的问题 最近升级公司的一个项目(从VS2008->VS2010) 报表(ReportingServices)从8.0->10.0

         需要注意的是:引用里面添加ReportingServices WebForm 10.0版本

                          在页面上 也是使用10.0 在Web.config文件里面同样使用这个版本

  • 相关阅读:
    「JSOI2015」套娃
    「JSOI2015」非诚勿扰
    「JSOI2015」送礼物
    「JSOI2015」子集选取
    「JSOI2015」salesman
    「JSOI2015」字符串树
    [2]树的DFS序
    hdu 6058 Kanade's sum
    UVALive 6907 Body Building
    CF617/E XOR and Favorite Number
  • 原文地址:https://www.cnblogs.com/zhwl/p/1964124.html
Copyright © 2011-2022 走看看