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 如果电脑系统打开的时候没有设置密码的话,此时打开有可能会出现需要登录名和密码 ...
随机推荐
- java编程中的Java.Lang.Math类
1. Math.PI :表示的是圆周率常量: 2.Math.E :表示的是普通常量(e): 3.abs()方法: 表示取绝对值 eg1: int x = Math.abs(50L); ...
- ASP.NET开发学习视频教程大全(共800集)
ASP.NET是微软.NET平台的支柱之一,被广泛应用在WEB等互联网开发领域,因此它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上.这里整理了最全的ASP.NET开发学习视频 ...
- 无法安装或运行此应用程序。该应用程序要求首先在"全局程序集缓存(GAC)"中安装程序集
在做winform程序发布时遇到了这个问题,在我的机子上是可以正常运行的,但到别人的机子上就出现了这个错误.为此问题头疼了一上午终于搞定! 遇到这个问题一定是配置环境的原因, 1.你可以在程序 发布 ...
- UML学习-时序图
时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的.顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序.时序图中包括的建模元素主要有:对象(Actor) ...
- PHP学习笔记二十【静态方法】
<?php //静态变量的基本用法 //1,在类中定义变量 //2.定义方式[访问修饰符]static 变量名 //3.访问方式self::$变量名 第二种方式,类名::$变量名 //4.在类外 ...
- 循环小数 UVa202
输入整数a和b(0<=a<=3000,1<=b<=3000),输出a/b的循环小数表示以及循环节长度. 例如,a=5,b=43,小数表示为0.(1162790697674418 ...
- (转) Special members
原地址:http://www.cplusplus.com/doc/tutorial/classes2/ Special members [NOTE: This chapter requires p ...
- (原)Microsoft Source Reader的简单使用
感觉Microsoft Source Reader还是比较坑的,只是由于需要,不得不使用.其实按照Microsoft提供的示例,基本上可以正常的调试出程序来. 下面的例子,简单的给出了Source R ...
- Qt之HTTP上传/下载(继承QNetworkAccessManager,包括使用了authenticationRequired认证信号)
效果 QNetworkAccessManager DownloadNetworkManager::DownloadNetworkManager(QObject *parent) : QNetworkA ...
- MotionEvent的getX(),getY()与getRawX(),getRawY()区别
getX()是表示Widget相对于自身左上角的x坐标,而getRawX()是表示相对于屏幕左上角的x坐标值(注意:这个屏幕左上角是手机屏幕左上角,不管activity是否有titleBar或是否全屏 ...