博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ActiveReports 报表应用教程 (8)---交互式报表之动态过滤
阅读量:6717 次
发布时间:2019-06-25

本文共 1891 字,大约阅读时间需要 6 分钟。

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

1、创建报表文件

在应用程序中创建一个名为 rptOrderDetails.rdlx 的 ActiveReports 报表文件,使用的项目模板为 ActiveReports 页面报表,创建完成之后从 VS 的报表菜单项中选择转换为连续页面布局(CPL)报表,将固定页面报表转换为连续页面报表。

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

参数1: 名称:ProductID
数据类型:Integer
提示用户输入值显示的问题:产品名称:
多值:True
参数2: 名称:StartDate
数据类型:DateTime
提示用户输入值显示的问题:起始日期:
参数3: 名称:EndDate
数据类型:DateTime
提示用户输入值显示的问题:截止日期:

 

3、打开报表资源管理器,并按照以下信息创建报表数据源

名称: NWind_CHS
类型: Micorsoft OleDb Provider
OLE DB 提供程序: Microsoft.Jet.OLEDB.4.0
服务器或文件名称: Data\NWind_CHS.mdb

 

4、 添加数据集

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

4.1、添加数据集参数

参数1: 名称:Param1
值:=[@ProductID]
参数2: 名称:Param2
值:=[@ProductID]
参数3: 名称:Param3
值:=[@StartDate]
参数4: 名称:Param1
值:=[@EndDate]

说明:在添加参数设置值属性时,可以点击下拉列表,并选中 表达式 选项,然后在表达式编辑对话框中设置参数的值

4.2、设置数据集其他属性

常规-名称:OrderDetails

查询-查询:

 
SELECT 订单.订单ID, 订单.客户ID, 订单.订购日期, 产品.产品名称,订单明细.数量, 订单明细.单价, 订单明细.折扣  from (( 订单inner join 订单明细 on 订单.订单ID = 订单明细.订单ID )inner join 产品 on 订单明细.产品ID = 产品.产品ID )where (订单明细.产品ID in (?) or -1 in (?)) and DateDiff("d",?,订购日期) > 0 and DateDiff("d",?,订购日期) < 0ORDER BY 订单.订单ID; 

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

5、设计报表界面

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

6、运行程序

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

7、自定义报表参数面板

 

 

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

 

然后在“运行报表”按钮的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;
}

源码下载地址:

相关阅读:

 

 

转载地址:http://uuumo.baihongyu.com/

你可能感兴趣的文章
如何备份一个国家
查看>>
SDDC架构完全应用?还尚需时日……
查看>>
贵州省大数据发展驶入“信息高速公路”
查看>>
电视监控 选择摄像机技巧
查看>>
停止并重启OpenStack实例的方法
查看>>
PaperWeekly 第35期 | 如何让聊天机器人懂情感
查看>>
为什么各大网站都在启用HTTPS?
查看>>
安防市场增长势头不减 行业竞争日趋激烈
查看>>
美国太阳能光伏安装商对2016年持乐观态度
查看>>
YunOS互联万物的下一个目标会是什么?
查看>>
荣成智慧城市建设稳步推进
查看>>
【8月23日直播】如何轻松玩转持续交付?
查看>>
知名区块链VC受黑客攻击,损失逾 30 万美元
查看>>
云存储四大趋势:看Microsemi如何创新
查看>>
RFID系统助力Nextbike自行车租赁管理
查看>>
于英涛总裁主题演讲
查看>>
三星押注5G技术以追赶诺基亚和华为
查看>>
《编程原本 》一1.3 对象
查看>>
行业展望:数据中心策略和调整业务
查看>>
Facebook抄袭Snap真的十恶不赦吗?
查看>>