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.今天先整理一部分,后续的将抽空给大家呈现。主要是行分组和总计

posted @ 2014-08-30 22:33  夜照亮了黑  阅读(13199)  评论(0编辑  收藏  举报