快速业务通道

使用ASP.NET 2.0中的ReportViewer控件

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
要设置相关的文本框的Value属性为 “=FormatDateTime(ToDay(),DateFormat.ShortDate)”即可。报表的一大优势 就是有很多的内置函数,如ToDay()和FormatDateTime之类的。本例中,我们使 用FormatDateTime()函数来以ShortDate的格式显示当前的日期(ToDay())。

现在,从工具箱里拖拽一个“表”控件到你的报表上。默认情况下,“表” 控件有3行3列,3行分别是:表头、详细信息和表尾。当然,你也可以为“表” 控件添加行和列。从数据源窗口中拖拽CustomerID、CompanyName、 ContactName和Country属性到你的“表”控件的详细信息行上。这样,系统将 会自动地添加文本框,并设置其属性为=Fields!CustomerID.Value、=Fields! CompanyName.Value之类的。此时,列头也会被自动地添加。当然,你也可以 根据你的需求做你需要的修改。

接下来,我们要按顾客所属的国家对记录进行分组。右键单击详细信息行的 边框,选择插入组(如下图所示)。

使用ASP.NET 2.0中的ReportViewer控件

然后将会出现如下图所示的对话框:

使用ASP.NET 2.0中的ReportViewer控件

在“排序”选项卡中选择“=Fields!Country.Value”作为表达式,选择 “Ascending”作为排序方向。

就是这些东西,很简单吧。这样,我们就完成了报表的设计。

显示报表

新建一个名为“ReportViewerDemo”的web站点。添加ReportViewerLib程序 集的引用,这样该程序集就会拷贝到你的web站点的BIN目录下。之后,把 Report1.rdlc文件添加到你的web站点中。在工具箱的“数据”选项卡中拖拽一 个ReportViewer控件到你的Default.aspx页上, 打开ReportViewer控件的智能 标记面板,在“选择报表”的下拉框中选择Report1.rdlc,如下图所示:

使用ASP.NET 2.0中的ReportViewer控件

选择好报表文件后,系统会自动地添加一个TypeName属性为Customer 的对象数据源控件。你可以在对象数据源控件的配置向导中验证一下。

接下来,拖拽一个DropDownList控件到页的头部,并为其设置4个选项 – All、USA、UK和Brazil。同时设置它的AutoPostBack属性为True。然后,打开 数据源控件的配置向导,设置“SELECT”操作为 SelectCustomersForCountry()方法。

使用ASP.NET 2.0中的ReportViewer控件

设置SelectCustomersForCountry()方法的country参数为DropDownList1的 SelectedValue。

使用ASP.NET 2.0中的ReportViewer控件

默认情况下,将在报表中显示所有顾客信息。当你在DropDownList选择了一个 国家的时候,报表中就会显示属于你所选择的国家的顾客信息。要完成这样的 功能,我们只需要处理DropDownList的SelectedIndexChanged事件。

protected void DropDownList1_SelectedIndexChanged
(object sender, EventArgs e)
{
 if (DropDownList1.SelectedValue == "All")
 {
   ObjectDataSource1.SelectMethod = "GetAllCustomers";
   ObjectDataSource1.SelectParameters.Clear();
  ReportParameter param = new ReportParameter
("SubTitle", "List of all the customers");
  ReportParameter[] p ={ param };
  ReportViewer1.LocalReport.SetParameters(p);
 }
  else
 {
  ObjectDataSource1.SelectMethod = "GetCustomersForCountry";
   ObjectDataSource1.SelectParameters[0].DefaultValue
= DropDownList1.SelectedValue;
  ReportParameter param = new ReportParameter
("SubTitle", "List of customers for a country");
  ReportParameter[] p ={ param };
   ReportViewer1.LocalReport.SetParameters(p);
 }
}

这段代码首先检查DropDownList控件的SelectedValue属性。如 果是“All”的话就设置数据源控件的SelectMethod属性为 GetA

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号