zoukankan      html  css  js  c++  java
  • RDLC报表系列(一) 简单的动态数据绑定和配置

    RDLC系列链接

      RDLC报表系列(一) 简单的动态数据绑定和配置

        RDLC报表系列(二) 行分组

          RDLC报表系列(三) 总计和折叠

          RDLC报表系列(四) 矩阵

          RDLC报表系列(五) 简单的图表-柱状图

      RDLC报表系列(六) 多图表-折线图和柱状图

    最近新换了工作,终于从单纯的开发中脱离出来,换成主运维和偶尔开发了,但还没有转行。本来打算找工作是想转行的,毕竟三线城市搞IT,以后真的不好说。最近经理让给财务做一个报表展示系统。由于之前一直都是做B2C的网站,流程和报表方面几乎没有涉猎。只能从博客园和csdn上来查找资料,由于大部门人都是用的水晶报表,RDLC的资料挺少。所以找了好久,也自己实验了好久,终于项目第一期做的项目差不多了,今天在家休息,就拿出点时间来整理一下。这个项目分两期,第一期主要是数据表的展示,第二期会有矩阵,折线图和柱状图的使用。所以,文章先把自己使用到的整理出来。参考的文章链接如下:

      http://www.cnblogs.com/waxdoll/archive/2006/02/25/337713.html 蜡人张(想必做RDLC的都看过)

        http://www.gotreportviewer.com/ GotReportViewer(很多功能都是照着它上面的实例来做的)

      下面就按照我的步骤先来个简单的栗子吧。

      1.新建项目,这个大家都会了吧。就不唠叨了,按照自己的习惯命名就好,我这里是demo1

      

      2.然后是新建数据源,在网站或者项目上右击,添加—>新建项—>数据—>数据集,命名为demo1.xsd,点击确定

      

      3.在数据源页面拖入DataTabel,按照下图设计表结构

      

      4.新建报表,在网站或者项目上右击,添加—>新建项—>Reporting—>报表,命名为demo1.rdlc,点击确定

      

      5.下面是重头戏,设计报表,在左侧的报表项中选择表,拖到右边的白色区域,会弹出如下对话框,输入名称选择数据源以及数据集,点击确认然后将需要显示的字段添加到表中即可。

      

      

      6.新建一个页面,名称demo1.aspx,在页面设计中拖入ScriptManager和Reportview控件

      

      7.然后开始写后台绑定数据的代码了,如下

      demo.aspx.cs

      

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 using System.Web.UI;
     6 using System.Web.UI.WebControls;
     7 using System.Data;
     8 using System.Data.SqlClient;
     9 using Microsoft.Reporting.WebForms;
    10 
    11 namespace rdlc1
    12 {
    13     public partial class demo11 : System.Web.UI.Page
    14     {
    15         protected void Page_Load(object sender, EventArgs e)
    16         {
    17             if (IsPostBack == false)
    18             {
    19                 FillDataToReport();
    20             }
    21         }
    22 
    23         private void FillDataToReport()
    24         {
    25 
    26             // DataTable dt1 = GetDataTabel();
    27 
    28             //if (dt1.Rows.Count > 0)
    29             //{
    30 
    31             //}
    32 
    33             DataTable dt = new DataTable();
    34             dt.Columns.Add("Dept", typeof(string));
    35             dt.Columns.Add("CostCenter", typeof(string));
    36             dt.Columns.Add("SalePrice", typeof(decimal));
    37             dt.Rows.Add("IT", "810", 867);
    38             dt.Rows.Add("IT", "811", 877);
    39             dt.Rows.Add("E", "710", 867);
    40             dt.Rows.Add("E", "711", 877);
    41             dt.Rows.Add("L", "710", 867);
    42             dt.Rows.Add("L", "711", 877);
    43 
    44 
    45             ReportViewer1.LocalReport.ReportPath = "demo1.rdlc";
    46 
    47             //显示报表
    48             ReportViewer1.LocalReport.DataSources.Clear();
    49             ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("dtDemo", dt));//要和设计报表时指定的名称一致,这里是dtDemo
    50             ReportViewer1.LocalReport.Refresh();
    51 
    52 
    53         }
    54 
    55     }
    56 }
    View Code

      8.一切貌似都大功告成,F5运行,弹出如下报错。犹如晴天小霹雳,不要着急,仅需要配置下web.config即可

      

      9.在web.config文件中添加添加httphandler节点即可,下面上我的web.config文件。

      

    <?xml version="1.0"?>
    <!--
      有关如何配置 ASP.NET 应用程序的详细消息,请访问
      http://go.microsoft.com/fwlink/?LinkId=169433
      -->
    <configuration>
        <system.web>
        <httpHandlers>
          <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
            validate="false" />
        </httpHandlers>
            <compilation debug="true" targetFramework="4.0">
                <assemblies>
                    <add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
                    <add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
                    <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
                    <add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
        </system.web>
    </configuration>
    View Code

      10.F5运行,可以鸟,上图。

      

     11.今天先整理一部分,后续的将抽空给大家呈现。主要是行分组和总计

  • 相关阅读:
    Project Euler 97 :Large non-Mersenne prime 非梅森大素数
    Project Euler 96:Su Doku 数独
    Project Euler 95:Amicable chains 亲和数链
    Project Euler 94:Almost equilateral triangles 几乎等边的三角形
    Project Euler 93:Arithmetic expressions 算术表达式
    Project Euler 92:Square digit chains 平方数字链
    Project Euler 91:Right triangles with integer coordinates 格点直角三角形
    Project Euler 90:Cube digit pairs 立方体数字对
    Project Euler 89:Roman numerals 罗马数字
    Project Euler 88:Product-sum numbers 积和数
  • 原文地址:https://www.cnblogs.com/youmeng/p/3947046.html
Copyright © 2011-2022 走看看