ActiveReports 表实战应用教程(七)——交互式 表之动态过滤

用户可以使用ActiveReports参数 (Parameters)集合把数据提供给 表中的文本框或图表,也可以选择数据的一个子集显示到 表的特定区域,或者是把数据从主 表象子 表传递。用户可以通过三种方式获取数据的值:提示用户输入;从主 表取值并传递给子 表;从Windows form或者Web form上取值。

1. 创建 表文件

在应用程序中创建一个名为 rptOrderDetails.rdlx 的 ActiveReports 表文件,使用的项目模板为 ActiveReports RDL 表。

2. 打开 表资源管理器,在参数节点中添加以下三个 表参数

ActiveReports 表实战应用教程(七)——交互式 表之动态过滤
3. 打开 表资源管理器,并按照以下信息创建 表数据源

ActiveReports 表实战应用教程(七)——交互式 表之动态过滤
4. 添加数据集

在新建的 NWind_CHS 数据源上鼠标右键并选择添加数据集菜单项。

4.1 添加数据集参数

ActiveReports 表实战应用教程(七)——交互式 表之动态过滤

ActiveReports 表实战应用教程(七)——交互式 表之动态过滤

4.2 设置数据集其他属性

常规-名称:Products

查询-查询:

SELECT 产品.*,类别.类别名称,类别.说明 AS 类别说明,类别.图片 AS 类别图片, 供应商.公司名称 AS 供应商,供应商.联系人姓名,供应商.城市,供应商.地址

ORDER BY 产品.类别ID;

设置Products数据集的目的是为用户提供产品名称的选择,如最终运行图的左上角所示,因此我们需要为最开始设置的 表参数中的参数1设置可选值,右键点击 表参数1,修改,选择可选值标签,设置信息:

ActiveReports 表实战应用教程(七)——交互式 表之动态过滤

常规-名称:OrderDetails

查询-查询:

SELEC 订单.订单ID, 订单.客户ID, 订单.订购日期, 产品.产品名称,订单明细.数量, 订单明细.单价, 订单明细.折扣
from (( 订单 innerjoin 订单明细 on 订单.订单ID = 订单明细.订单ID ) innerjoin 产品 on 订单明细.产品ID = 产品.产品

说明:在以上查询语句 Where 条件中使用了参数查询,参数使用的是 占位,的出现顺序需要与数据集参数中定义的参数顺序一致。同时, 是 Access 中的查询参数设置方式, SQL Server 中需要使用以 @ 开始的字符串作为参数。

5. 设计 表界面

从 Visual Studio 工具箱中将 Table 控件添加到 表设计界面,并将 OrderDetails 数据集中的字段拖拽到 Table 的相应列中,得到的设计界面如下:

ActiveReports 表实战应用教程(七)——交互式 表之动态过滤
6. 运行程序

通过 F5 键运行程序,在参数面板中输入值之后,点击查看 表按钮,将得到以下结果:

ActiveReports 表实战应用教程(七)——交互式 表之动态过滤
7. 自定义 表参数面板

ActiveReports 表处理支持内置的 表参数面板,您还可以提供独立于 表Viewer控件的自定义 表参数面板,类似的实现效果如下:

ActiveReports 表实战应用教程(七)——交互式 表之动态过滤

然后在“运行 表”按钮的Click事件中实现 表参数的设置并运行 表:

protected void btnRun_Click(object sender, EventArgs e)
{
GrapeCity.ActiveReports.PageReport report1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath(“PageReport1.rdlx”)));
report1.Report.ReportParameters[0].DefaultValue.Values.Add(txtParam.Text);
WebViewer1.Report = report1;
}

ActiveReports 表控件| 下载试用

ActiveReports 是一款专注于 .NET 平台的 表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下 表设计和开发工作需求,作为专业的 表工具为全球超过 300,000 开发人员提供了全面的 表开发服务。

如果您对我们的产品还有任何疑问,欢迎咨询在线客服>>

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年9月18日
下一篇 2021年9月18日

相关推荐

发表回复

登录后才能评论