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

简介:
显示报表
新建一个名为“ReportViewerDemo”的web站点。 添加ReportViewerLib程序集的引用,这样该程序集就会拷贝到你的web站点的BIN目录下。 之后,把Report1.rdlc文件添加到你的web站点中。 在工具箱的“数据”选项卡中拖拽一个ReportViewer控件到你的Default.aspx页上, 打开ReportViewer控件的智能标记面板,在“选择报表”的下拉框中选择Report1.rdlc,如下图所示:
选择好报表文件后,系统会自动地添加一个TypeName属性为Customer的对象数据源控件。 你可以在对象数据源控件的配置向导中验证一下。

接下来,拖拽一个DropDownList控件到页的头部,并为其设置4个选项 – All、USA、UK和Brazil。 同时设置它的AutoPostBack属性为True。 然后,打开数据源控件的配置向导,设置“SELECT”操作为SelectCustomersForCountry()方法。
 
设置SelectCustomersForCountry()方法的country参数为DropDownList1的SelectedValue。
 
默认情况下,将在报表中显示所有顾客信息。 当你在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属性为GetAllCustomers。 另外,我们还需要清空SelectParameters集合,因为GetAllCustomers()方法不需要任何参数。 接下来,我们创建一个ReportParameter类的实例,并在其构造函数中设置报表的参数名和参数值。 回忆一下我们在设计报表时定义的参数。 然后再创建一个ReportParameter数组。 调用SetParameters()方法,并用这个数组作为其参数。 “else”代码块也是非常地简单,就是使用的方法变成了GetCustomersForCountry()而已。

就是这些东西,很简单吧。 报表已经搞定了。 你可以运行一下Default.aspx页看看效果。 注意,ReportViewer控件已经内置了导出特性,它允许你把报表导出为Excel或PDF格式。 ReportViewer控件还很多的属性,你可以自己摸索一下。


总结
ASP.NET的ReportViewer控件提供了很多报表的基本功能。 在本文中,我们使用了对象数据源控件来开发一个报表。 我们创建了一个类库和一个数据源。 最后使用ReportViewer控件来显示报表。


作者:Bipin Joshi
Email:http://www.dotnetbips.com/contact.aspx
简介:Bipin Joshi是DotNetBips.com的管理员。他是http://www.binaryintellect.com/的发起人,这个公司提供.NET framwork的培训和咨询服务。他在印度孟买为开发者提供培训。他也是微软的MVP(ASP.Net)和ASPInsiders的会员。




     本文转自webabcd 51CTO博客,原文链接: http://blog.51cto.com/webabcd/345028 ,如需转载请自行联系原作者

相关文章
|
7月前
|
开发框架 JavaScript 前端开发
震撼!破解 ASP.NET 服务器控件 Button 执行顺序之谜,颠覆你的开发认知!
【8月更文挑战第16天】在ASP.NET开发中,通过Button控件实现先执行JavaScript再触后台处理的需求十分常见。例如,在用户点击按钮前需前端验证或提示,确保操作无误后再传递数据至后台深度处理。此过程可通过设置Button的`OnClientClick`属性调用自定义JavaScript函数完成验证;若验证通过,则继续触发后台事件。此外,结合jQuery也能达到相同效果,利用`__doPostBack`手动触发服务器端事件。这种方式增强了应用的交互性和用户体验。
72 8
|
5月前
|
开发者 Windows
.NET 开源扁平化、美观的 C/S 控件库
【10月更文挑战第23天】介绍了三款适用于 .NET 平台的开源扁平化、美观的 C/S 控件库:MaterialSkin 采用 Google Material Design 风格,适合现代感界面;Krypton Toolkit 提供丰富控件,界面易于定制;Fluent Ribbon Control Suite 模仿 Office 界面,适合复杂功能应用。每款控件库均附有示例代码及 GitHub 链接。
214 0
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
本文讨论了在基于.NET 6和.NET Framework的WinForms项目中添加图表控件的不同方法。由于.NET 6的WinForms项目默认不包含Chart控件,可以通过NuGet包管理器安装如ScottPlot等图表插件。而对于基于.NET Framework的WinForms项目,Chart控件是默认存在的,也可以通过NuGet安装额外的图表插件,例如LiveCharts。文中提供了通过NuGet添加图表控件的步骤和截图说明。
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
|
5月前
|
C# Android开发 iOS开发
一组.NET MAUI绘制的开源控件 - AlohaKit
一组.NET MAUI绘制的开源控件 - AlohaKit
121 0
|
6月前
|
开发框架 JavaScript 前端开发
|
10月前
|
SQL 开发框架 JavaScript
分享33个ASP.NET电子商务源码和40个ASP.NET控件组件源码,总有一款适合您
分享33个ASP.NET电子商务源码和40个ASP.NET控件组件源码,总有一款适合您
160 0
|
10月前
|
SQL 开发框架 前端开发
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
108 0
|
10月前
|
JavaScript C#
【傻瓜级JS-DLL-WINCC-PLC交互】2.wincc使用C#开发的.net控件
【傻瓜级JS-DLL-WINCC-PLC交互】2.wincc使用C#开发的.net控件
193 0
|
10月前
|
JavaScript Linux C#
【傻瓜级JS-DLL-WINCC-PLC交互】1.C#用windows窗体控件创建.net控件
【傻瓜级JS-DLL-WINCC-PLC交互】1.C#用windows窗体控件创建.net控件
193 0
|
10月前
|
开发框架 .NET 数据安全/隐私保护
Asp.Net第二章服务器端控件
Asp.Net第二章服务器端控件
71 0

热门文章

最新文章