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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using Microsoft.Reporting.WebForms; namespace rdlc1
{
public partial class demo11 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack == false)
{
FillDataToReport();
}
} private void FillDataToReport()
{ // DataTable dt1 = GetDataTabel(); //if (dt1.Rows.Count > 0)
//{ //} DataTable dt = new DataTable();
dt.Columns.Add("Dept", typeof(string));
dt.Columns.Add("CostCenter", typeof(string));
dt.Columns.Add("SalePrice", typeof(decimal));
dt.Rows.Add("IT", "", );
dt.Rows.Add("IT", "", );
dt.Rows.Add("E", "", );
dt.Rows.Add("E", "", );
dt.Rows.Add("L", "", );
dt.Rows.Add("L", "", ); ReportViewer1.LocalReport.ReportPath = "demo1.rdlc"; //显示报表
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("dtDemo", dt));//要和设计报表时指定的名称一致,这里是dtDemo
ReportViewer1.LocalReport.Refresh(); } }
}
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>
10.F5运行,可以鸟,上图。

11.今天先整理一部分,后续的将抽空给大家呈现。主要是行分组和总计
RDLC报表系列(一) 简单的动态数据绑定和配置的更多相关文章
- RDLC报表系列(五) 简单的图表-柱状图
继续接上一篇的内容,本文主要是讲图标的内容,本文就是简单的图标,复杂的柱状图和折线图在下一文章中介绍. 数据源还是上文RDLC报表系列(四) 矩阵中的相同 1.还是继续使用demo2的文件
- RDLC报表系列--------初级报表
前面记录下了很多平时开发遇到的问题,RLDC之前也是不会,只会水晶报表,后来也慢慢的也上手了.把这些记录下来,以后用的着 1.打开VS添加新建项,选择Reporting,选择报表,后缀名为RLDC的名 ...
- RDLC报表系列(六) 多图表-折线图和柱状图
美好的一天开始了,这篇是RDLC系列的最后一篇文章,我的小项目也已经release,正在测试中. 1.新建demo3.aspx和demo3.rdlc文件 2.往rdlc文件中拖一个图标控件,在弹出的窗 ...
- RDLC报表系列--------报表分页显示标题
RDLC表格标题分页后,标题不显示网上的办法也不少.怎奈我试过很多,只有这个可以解决.留下代码以后使用 将报表以 XML的方式打开,搜索找到“详细信息” 在这个位置 报表分页标题设置<Tabli ...
- redis系列之------简单的动态字符串(SDS)
前言 Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组,以下简称 C 字符串), 而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的 ...
- RDLC报表系列--------行分组报表
报表分组开发步骤: 先看总体效果:如图 下面就做个看看... 1.先将数据处理成如下结构 如图 2.创建数据集DataSet.xsd,创建表->右键选择添加数据表->添加行(ctrl+L ...
- RDLC报表系列(二) 行分组
接上一篇文章的内容,今天来说的是行分组.还是打开demo1.rdlc界面,拖入一个文本框和表 1.在表中随便选择一个字段,不然在添加行组的时候不会自动提示.我这里是选择的Dept 2.在下面的行组中右 ...
- RDLC报表系列(四) 矩阵
继续接上一篇的内容,本文主要是讲矩阵的内容 用到的数据源如下: DataTable dt = new DataTable(); dt.Columns.Add("FiscalYear" ...
- RDLC报表系列一
1.报表项目搭建: 配置好后,单击Web服务URL:http://lg-20151517ryre/ReportServer 如果电脑系统打开的时候没有设置密码的话,此时打开有可能会出现需要登录名和密码 ...
随机推荐
- 16. Linux 文件目录权限
# 文件参数 d:表示是一个目录-:表示这是一个普通的文件l: 表示这是一个符号链接文件,实际上它指向另一个文件b.c:分别表示区块设备和其他的外围设备,是特殊类型的文件s.p:这些文件关系到系统的数 ...
- 前端--关于javascript函数
终于可以说说函数了,函数是javascript设计最出色的地方,可以说它是所有概念中最重要的一个,因为围绕函数而阐述的周边概念涵盖了javascript的方方面面,所以理解了函数可以说对javascr ...
- FullCalendar 的学习笔记(一)
前一段时间,一个老项目需要新增一个小功能,日程表~ 于是网上找了下,发现FullCalendar这个控件还不错于是就拿来用了下,下面简单介绍下我的学习笔记. 首先就是了解下FullCalendar的A ...
- 不同浏览器对URL最大长度的限制(转)
1.今天碰到一个bug,window.open后面的页面,接收参数不全,导致后台报错.实验了一下.发现是使用get方法请求服务器时,URL过长所致 微软官方的说明: http://support.mi ...
- shell参数
shell获取当前执行脚本的路径 filepath=$(cd "$(dirname "$0")"; pwd) 脚本文件的绝对路径存在了环境变量filepath中 ...
- Objective C—创建单例
单例模式是在实际项目开发中用到比较多的一种设计模式,设计原理是整个系统只产生一个对象实例,通过一个统一的方法对外提供这个实例给外部使用. 在Java中,构造单例一般将类的构造函数声明为private类 ...
- CDZSC_2015寒假新人(2)——数学 C
C - C Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status ...
- JAVA不经过Catch(Exception e)直接到finally或者退出原因
今天遇到一个很奇葩的问题!在写Hadoop程序的时候!new一个对象!程序直接跑到finally代码块里面去了!Catch里面的Exception也没有执行. Configuration config ...
- OER 7451 in Load Indicator : Error Code = OSD-04500:指定了非法选项
alert 日志错误OER 7451 in Load Indicator : Error Code = OSD-04500:指定了非法选项 Sun Apr 22 11:15:51 2012 OER 7 ...
- js的function中的指向自身的属性
1,arguments.callee 2,方法的constructor