在Asp.net(C#) 中使用 ReportViewer

Asp.net报表ReportViewer设计(RDLC) ReportViewer是微软的报表控件,其设计文件为RDLC,数据架构为数据集。效果图如下: 其中序号调用的是内置函数,姓名、收入、所属部门绑定的是数据源,头像绑定的是URL指向的外部图片。下面是实现过程。 一.新增数据集 1.在创建Web空项目后,在项目上右键->添加->新建项->数据->选择数据集,见下图 2.将数据集命名为DataSet1_DataTable1 3 阅读详情

a. ReportViewer关联Report1.rdlc的简单呈现
b. 对带有报表参数的Report1.rdlc的呈现
c. 利用程式生成的DataSet 填充报表
d. 调用存储过程 生成DataSet 填充报表
==========
简单的呈现
==========
1. 打开VS2005,文件->新建->网站 选择语言种类(C#)
2. 在该解决方案下 设计其已经生成的Default.aspx
3. 将工具箱-数据下的ReportViewer 拉入Default.aspx的设计界面
4. 在用鼠标选中ReportViewer1时 可以看到其右上角的 小三角 图标
5. 用鼠标点击该小三角 将展开 ReportViewer任务 快捷菜单
6. 由于本项目 目前还没有做好的报表 所以 选择 设计新报表
7. 点击 设计新报表 后 将呈现报表Report1.rdlc的设计界面
8. 由于本项目 目前还没有做好的网站数据源
   所以 此时要添加新数据源
  (如果没有呈现“网站数据源”界面,可以点击报表设计界面,
   此时上方菜单中多出现“数据”,“报表”等选项
   可以在“数据”菜单下,选择“显示数据源”)
9. 点击“添加新数据源” 会出现“TableAdapter 配置向导”
10. 选择数据连接(如连接到本机的Northwind数据库),下一步
11. 选择是否要将连接字符串保存到应用程序配置文件中,下一步
12. 选择命令类型,此时 可以 点击 取消 按钮,退出向导
13. 全部保存
14. 选择 视图 菜单 下 “服务器资源管理器”,
    可以看到刚才所建立的数据连接,
    可以看到Northwind数据库下的表,视图,存储过程,函数
15. 在解决方案的树下 找到并打开App_Code文件夹下的DataSet1.xsd数据集
16. 可以看到 打开的数据集设计器 是空的,此时可以将“服务器资源管理器”
    下的Northwind的表或存储过程等 拉入 数据集设计器
    (如此时 拉入了Orders表 和 Sales by Year这个存储过程)
17. 全部保存
18. 双击Report1.rdlc,打开报表设计界面
    将此时的报表设计工具箱中的 报表项 的  表 拉入 报表设计界面
19. 选择 “数据”菜单下的“显示数据源”,
    可以在网站数据源下 看到 DataSet1 下的 两个 表 Orders 和 Sales by Year
20. 此时选择Orders下的任意字段 (如OrderID 和 CustomerID)
    拉到Report1.rdlc设计界面的表的“详细资料”处 用于报表显示
21. 全部保存
22. 回到Default.aspx的设计界面,为ReportViewer1 绑定报表
    选择ReportViewer1显示刚才设计好的Report1.rdlc
23. 全部保存,按F5或Ctrl+F5 运行,以查看初步效果

======================================
接下来要为Report1.rdlc添加一个报表参数
======================================

24. 回到报表Report1.rdlc的设计界面
    点击 报表 菜单 下的“报表参数”
25. 在报表参数在设置框中 添加一个报表参数 进行相关设置 并 确定以保存
   (如其参数名称为rptParaA,类型为String)
26. 拉入一个文本框的报表项到Report1.rdlc的设计界面 以做为该报表的标题显示
27. 选中并右键单击该文本框,在弹出的菜单中选择“表达式”,
    进入“编辑表达式”的对话框
28. 在“编辑表达式”的对话框中,选择 参数,
    并双击刚才设置的rptParaA,使文本框的值=Parameters!rptParaA.Value
29. 保存对Report1.rdlc的修改
30. 因为新的Report1.rdlc报表的文本框需要有报表参数值的传入
    所以要在ReportViewer1 对Report1.rdlc的呈现时
    对Default.aspx.cs的编辑
31. 在Default.aspx.cs加入引用
    using Microsoft.Reporting.WebForms;   
    在Page_Load中加入如下代码


        ReportParameter rptParaA = new ReportParameter("rptParaA", "测试报表参数");
        ReportViewer1.LocalReport.SetParameters(new ReportParameter[] { rptParaA });

32.保存并运行 以查看效果

=========================================
接下来,需要对所要呈现的报表资料 进行定制
也就是通过设计DataSet
用符合需要的数据对报表进行资料绑定和呈现
=========================================

33.设置ReportViewer1的Visible为false
34.在Default.aspx的设计界面 加入一个按钮Button1
   将通过此按钮的Click事件 实现对数据库的访问 以及DataSet的数据填充
   和对ReportViewer1的资料绑定
35. Default.aspx.cs加入引用
    using System.Data.SqlClient;
    using Microsoft.Reporting.WebForms;

    Button1_Click中的代码示例如下

        SqlConnection myConn = new SqlConnection("Data Source=192.168.0.36;Initial Catalog=Northwind;User ID=sa;Password=sa");
        SqlDataAdapter myda = new SqlDataAdapter("select top 5 * from orders", myConn);
        DataSet myds = new DataSet();
        myConn.Open();
        myda.Fill(myds);
        myConn.Close();

        ReportViewer1.Visible = true;

        ReportParameter rptParaA = new ReportParameter("rptParaA", "测试报表参数");
        ReportViewer1.LocalReport.SetParameters(new ReportParameter[] { rptParaA });
 
        ReportDataSource rds = new ReportDataSource("DataSet1_Orders", myds.Tables[0]);
        ReportViewer1.LocalReport.DataSources.Clear();
        ReportViewer1.LocalReport.DataSources.Add(rds);
        ReportViewer1.LocalReport.Refresh();

 
   注意ReportDataSource rds = new ReportDataSource("DataSet1_Orders", myds.Tables[0]);
       的"DataSet1_Orders"是与前台html程序的

        <rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt" Height="400px" Visible="False" Width="400px">
            <LocalReport ReportPath="Report1.rdlc">
                <DataSources>
                    <rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="DataSet1_Orders" />
                </DataSources>
            </LocalReport>
        </rsweb:ReportViewer>
       中的<DataSources>的Name="DataSet1_Orders"是一致的

    可以通过对DataSet的填充时的sql语句等的定制 来得到所需要的数据 以便报表呈现
    需要注意的是由于ReportViewer1此时的关联报表为Report1.rdlc,所以DataSet的Tables[0]中的结构
    一定要包含Report1.rdlc所呈现的字段,所以,这里的Sql语句为select top 5 * from orders
36.保存 运行 点击Button1 以便 报表呈现

===============================================
如果 报表所要呈现的数据 来源于存储过程
那么 在装载DataSet时 使其数据来源于存储过程即可
===============================================

37.右击项目 添加新项 ,选择 报表,向项目中加入Report2.rdlc,
   设置其呈现的数据来源为存储过程 Sales by Year
   同样的在Report2.rdlc的设计界面 加入“表”报表项
   并将网站数据源下的DataSet1下的Sales by Year表中的字段
   拉入报表项“表”在详细数据中 进行显示
38.如同Default.aspx 向项目中添加新的页面Default2.aspx
   向Default2.aspx加入一个Button 和 ReportViewer1
   并设置ReportViewer1所要呈现的报表为Report2.rdlc
   设置ReportViewer1的Visible为false
   双击Button 进行其Click事件的编写
   设置Default2.aspx为项目的起始页
39.在Default2.aspx.cs加入引用
   using System.Data.SqlClient;
   using Microsoft.Reporting.WebForms;
40.Button1_Click的事件代码示例如下


    protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnection myConn = new SqlConnection("Data Source=192.168.0.36;Initial Catalog=Northwind;User ID=sa;Password=sa");
        SqlDataAdapter myda = new SqlDataAdapter("Sales by Year", myConn);
        myda.SelectCommand.Parameters.AddWithValue("@Beginning_Date", "1997-10-10");
        myda.SelectCommand.Parameters.AddWithValue("@Ending_Date", "2000-10-10");
        myda.SelectCommand.CommandType = CommandType.StoredProcedure;
        DataSet myds = new DataSet();
        myConn.Open();
        myda.Fill(myds);
        myConn.Close();

        ReportViewer1.Visible = true;
       
        ReportDataSource rds = new ReportDataSource("DataSet1_Sales_by_Year", myds.Tables[0]);
        ReportViewer1.LocalReport.DataSources.Clear();
        ReportViewer1.LocalReport.DataSources.Add(rds);

        ReportViewer1.LocalReport.Refresh();
    }


41.保存 运行 点击按钮 报表效果查看

ReportViewer动态报表开发完整步骤 在朋友的邀请下,朋友公司是做高端智能会议系统的给他们公司开发一个简单的公司门户网站。本人都多年没有写ASP.NET C#代码了。这几年都在做数据库和商务智能这块。反正朋友说网站不难,就个简单的展现网站,于是就答应了,找了一天到他们公司去听具体的开发需求,听了需求后,觉得难道不是很大,主要的难点在一个在线租赁平台。朋友的公司是做检测设备租赁的。于是就答应了。承诺在1个月内做好。主要是周末和晚上做。 ... 阅读详情

相关推荐

Asp.netReportViewer的RDLC设计及动态绑定数据源

Asp.netReportViewer的RDLC设计及动态绑定数据源

在服务器上部署VS 2008 ReportViewer,完美支持中文

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://www.cnblogs.com/jintan/archive/2008/06/12/1218079.html Reporting Services的确是个不错的东西,特别是VS2008下更显得完美了,而且ASP.net下的ReportViewer也支持打印的功能了,上...

weixin_34189116的博客 314

c# asp.net控件ReportViewer应用

VS2005开发 asp.net c#语言ReportViewer综合应用,对数据绑定进行多种方式。

ASP.NET服务器控件使用Reportviewer 报表

1.       Reportviewer 报表 1.1. Reportviewer控件 注:本教程附2个事例: l  演练:在本地处理模式下将数据库数据源与 ReportViewer Web 服务器控件一起使用 l 演练:在本地处理模式下将业务对象数据源与 ReportViewer Web 服务器控件一起使用 如果您已经对ReportViewer控件基础知识比较了解,可以直接参阅事

oemoon的专栏 2万+

c1reportviewer html,ASP.NET Wijmo 应用程序之C1ReportViewer控件入门

C1ReportViewer可以让您从现有的Microsoft Access 和 Crystal Reports中获取或导入现存的报表,来创建新的报表。方便用户向Web页面上添加Access样式的数据库报表,现在来使用下该控件。Step1:首先我们需要创建一个ASP.Net Web应用程序,之后添加一个Web窗体。然后,在工具栏找到C1ReportViewer控件,如果工具栏没有C1ReportV...

weixin_42106299的博客 300

第一次使用接口 --ReportViewer改变显示语言

学会使用msdn ReportViewer是一个winform控件,想让控件里文本全部显示为英文。 因为是微软封装的,所以无法直接改动,这是就应该考虑微软会提供接口。 搜索发现ReportViewer有实现本地化的IReportViewerMessages3接口,它继承IReportViewerMessages,IReportViewerMessages2. 三个接口很类似应该都看一下,在...

weixin_30613343的博客 430

Asp.Net(c#)使用ReportViewer控件制作报表

环境:VS2010 1、新建一个Default.aspx文件,把ReportViewer1控件和ScriptManager1拖到页面上。 (1)、从ReportViewer1控件的任务栏中选择设计新报表,出现”报表向导“对话框。 依次设置如下: “数据集属性”,选择或设置数据集。 “排列字段”,将相应字段拖放到行组、列组、值字段对应的框中。​ “选择布局”,根据需要需要选择相应布局。​...

weixin_30800987的博客 387

asp.net下的数据图

图片: http://hi.csdn.net/space-275744-do-album-picid-491613-goto-down.html 数据部分采用了C#+ASP.NET+ORACLE DB 图表部分采用了SQL SERVER 2005 的REPORTING SERVICE 。 将REPORTING SERVICE部署好以后,采用C#REPORT VIE

wujiandao的专栏 600

ReportViewer的动态绑定

 aspx页面关键代码 代码body>      form id="form1" runat="server">     asp:ScriptManager ID="ScriptManager1" runat="server">    asp:ScriptManager>         uc2:StatementQuery ID="StatementQuery1" run

净心编程 1795

C# 后台生成table提示框

运行效果如下: 前台 .aspx 代码 home.vue <%@ Page Language=“C#” AutoEventWireup=“true” CodeFile=“Default.aspx.cs” Inherits="_Default" %> <%@ Register assembly=“Microsoft.ReportViewer.WebForms, Version...

weixin_46076053的博客 384

C#毕业设计下载(全套源码+配套论文)——基于C#+asp.net+sqlserver的教师档案信息管理系统设计与实现

1.系统在基于信息管理系统的设计与实现技术上,结合高校教师信息管理的特点,进行总体结构设计、数据库表的设计以及前台界面和后台功能的具体实现,最终完成了一个以ASP.NET 技术和SQL Server为基础的基于B/S架构的教师电子化信息库的设计与实现。系统基本实现了用户角色管理、用户密码管理、用户名/口令认证、教师基本信息、教师详细信息、科研论文信息、获奖信息、证书信息的管理及报表统计等功能。提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。引言1.1 课题的目的和意义。

m0_66238867的博客 846

c# asp.net 未能加载文件或程序集 Microsoft.ReportViewer.WebForms 或它的某一个依赖项。系统找不到指定的文件...

发布的打包项目在本机测试好使,部署到客户服务器上报错 分析器错误消息: 未能加载文件或程序集“Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。 源错误: 行 63: 行 64: ...

黑色头发 991

RDLC报表使用教程(VS2019+Asp.Net(C#)+iframework)

RDLC使用教程

m0_57527977的博客 1万+

VB.NETReportviewer控件通过代码绑定多个RDLC文件

上一篇中分享了ReportViewer控件绑定RDLC报表并显示的简单方法,但很多情况下,上一种方法就会有很多弊端,今天分享一个通过代码绑定代码的方法。 首先新建一个工程,在工程中加入ReportViewer控件,然后在程序的开头,添加一下代码。 Imports Microsoft.Reporting.WinForms ...

weixin_45357668的博客 1225

[翻译]使用ASP.NET 2.0中的ReportViewer控件

原文地址:http://www.dotnetbips.com/articles/51df0f69-ee0e-4982-a7bb-d3e9b2182841.aspx[原文源码下载][译者改后代码下载][翻译]使用ASP.NET 2.0中的ReportViewer控件原文发布日期:2007.03.22作者:Bipin Joshi翻译:webabcd介

webabcd的专栏 700

使用ASP.NET 2.0中的ReportViewer控件

  介绍   任何数据驱动型的应用程序都有一个普遍的需求,那就是报表。 但是,在ASP.NET 1.x中并没有给我们提供这个非常重要的特性。 然而很幸运的是,伴随着.NET 2.0而来的ReportViewer控件可以满足你对报表的一些基本需求。 我将会在本文中向你演示如何使用这个控件。 ReportViewer控件既可以在web程序中使用,也可以在windows程序中使用。 在这里,我将只介绍如

夏风鱼的专栏 774

ASP.NET服务器控件ReportViewer()

演练:在本地处理模式下将业务对象数据源与ReportViewer Web服务器控件一起使用 本演练说明了如何在Microsoft Visual Studio 2005 ASP.NET应用程序中的报表使用对象数据源。有关业务对象和对象数据源的详细信息,请参阅Binding to Business Objects。 请执行下列步骤向Visual Studio ASP.NET网站...

weixin_30371469的博客 192
上一篇: 无线路由器桥接
下一篇: Excel 常用范例
qiume
博客等级 码龄25年 139粉丝 88原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值