自定义ActiveReports的报表参数面板

发布时间:2013/04/27 00:04 发布者:jian

返回博客中心

关键字:参数,报表参数,参数面板,页面报表,自定义,Viewer,WebViewer

ActiveReports提供了WinForms/ASP.NET/WPF/Silverlight平台中使用的报表查看器控件,这些控件都内置了报表参数面板,用户可以通过参数面板来过滤报表数据。ActiveReports在为用户提供默认的参数面板的同时,还为用户提供了自定义参数面板的支持,用户可以根据需要实现任何布局的参数面板。本文主要介绍如何自定义参数面板。

第一步:在Visual Studio中创建一个ASP.NET应用程序

第二步:在项目中添加ActiveReports的RDL报表

image

第三步:为报表添加报表参数,在ActiveReports报表资源管理器中的参数节点下添加以下信息的报表参数

1003_ActiveReports报表参数

第四步:为报表添加数据源,在资源管理器窗口中的数据源节点中添加NWind_CHS的数据源

1004_ActiveReports报表数据源

第五步:在 NWind_CHS中添加数据集,并在数据集的参数中添加如图所示的参数

1005_ActiveReports报表数据集

第六步:在报表中添加一个Table控件,并设置各列所绑定的数据源字段

1006_ActiveReports报表设计界面

 

第七步:在Default页面中添加自定义的参数面板,本文实现的参数面板中提供了一个用户数据产品类别名称的文本框;然后再Default中添加ActiveReports的Web查看器控件 WebViewer,ViewType设置的是Flash

1007_ActiveReports报表查看页面

 

第八步:在Default中添加【运行报表】按钮的Click事件处理程序,在Click事件中将文本框中输入的值传递给报表

 

  1:         protected void btnRun_Click(object sender, EventArgs e)
  2:         {

3: GrapeCity.ActiveReports.PageReport report1 =

new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("PageReport1.rdlx")));

  4:             report1.Report.ReportParameters[0].DefaultValue.Values.Add(txtParam.Text);
  5: 
  6:             WebViewer1.Report = report1;
  7:         }

 

以上查询语句中的参数占位符 ? 是 ACCESS 数据库中写法,如果使用 SQL SERVER 数据库需要将 ? 修改为 @参数名称;使用 Oracle 数据库对于的应该修改�� :参数名称

比如在数据集对话框的参数页面中定义了一个参数,名称为:Param1,值为=[@ID]
SQL SERVER 对应的 SQL 查询语句为 SELECT ID,Col1,Col2,Col3 FROM Table1 WHERE ID = @Param1
Oracle 对应的 SQL 查询语句为 SELECT ID,Col1,Col2,Col3 FROM Table1 WHERE ID = :Param1

 

第九步:运行工程,在文本框中输入【饮料】,并点击运行报表得到如下结果

1008_自定义报表参数面板_ActiveReports

 

源码下载:VS2013 + AR 10


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网