RDLC报表系列(一) 简单的动态数据绑定和配置
RDLC报表系列(二) 行分组
RDLC报表系列(三) 总计和折叠
RDLC报表系列(四) 矩阵
RDLC报表系列(五) 简单的图表-柱状图
RDLC报表系列(六) 多图表-折线图和柱状图
最近新换了工作,终于从单纯的开发中脱离出来,换成主运维和偶尔开发了,但还没有转行。本来打算找工作是想转行的,毕竟三线城市搞IT,以后真的不好说。最近经理让给财务做一个报表展示系统。由于之前一直都是做B2C的网站,流程和报表方面几乎没有涉猎。只能从博客园和csdn上来查找资料,由于大部门人都是用的水晶报表,RDLC的资料挺少。所以找了好久,也自己实验了好久,终于项目第一期做的项目差不多了,今天在家休息,就拿出点时间来整理一下。这个项目分两期,第一期主要是数据表的展示,第二期会有矩阵,折线图和柱状图的使用。所以,文章先把自己使用到的整理出来。参考的文章链接如下:
http://www.VEVb.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 rdlc112 {13 public partial class demo11 : System.Web.UI.Page14 {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));//要和设计报表时指定的名称一致,这里是dtDemo50 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.今天先整理一部分,后续的将抽空给大家呈现。主要是行分组和总计
新闻热点
疑难解答