ActiveReports 报表应用教程 (8)---交互式报表之动态过滤

用户可以使用葡萄城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]

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

ActiveReports 报表功能展示 表达式编辑器

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",?,订购日期) < 0
ORDER BY 订单.订单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;
    }

源码下载地址:


http://www.gcpowertools.com.cn/products/activereports_demo.htm

相关阅读:

【报表福利大放送】100余套报表模板免费下载 

 矩表 - 现代数据分析中必不可少的报表工具

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gSOAP学习笔记

网站:http://www.cppblog.com/pansunyou/archive/2013/08/05/137563.html gSOAP学习笔记 虽然SOAP被有些人说太老土&#xff0c;但在银行里仍有大量系统在使用&#xff0c;前段时间在工作中接触到&#xff0c;故记录一下。 gSOAP学习笔记 潘孙友 2010-12-27 于遵义 目录 一、基…

Scala实践6

1 if表达式 Scala中if...else..表达式是有返回值的&#xff0c;如果if和else返回值类型不一样&#xff0c;则返回Any类型。scala> val a310 a3: Int 10scala> val a4 | if(a3>20){ | "a3大于a4" | }else{ | "a4大于a3" | } a4: String a4大于a…

jquery ui autocomplete输入中文不自动完成的问题

因为输入法或浏览器的问题&#xff0c;在输入中文后并没有触发自动完成&#xff0c;要再按多一下键盘才触发&#xff0c;查看发现它是用keydown来实现.bind("keydown.autocomplete", function(event) {....})可以对其input事件进行监听来解决问题&#xff0c;在上面的…

【洛谷p1464】 Function

中考第一天&#xff1b; 感觉我超废&#xff1b; 就是看这道题特别顺眼emmm SOLUTION&#xff1a; 思路的话是开三维数组s[i][j][k]&#xff0c;先三重for循环预处理出s[0~20][0~20][0~20]的w(a,b,c)&#xff0c;然后直接搜索就好了。 Code&#xff1a; #include<bits/stdc.…

一个简单的高并发的回应服务器(5万并发)

一个简单的高并发的回应服务器&#xff0c;主要是使用boost的库&#xff01; 自己测试过可以达到5万个并发&#xff01; 程序的下载地址&#xff1a;http://download.csdn.net/detail/guanyijun123/8335907 #include <stdio.h> //#include "AuthenHandle.h" /…

delphi 的一些备忘

override&#xff1a;覆盖&#xff1b; overload&#xff1a;重载&#xff1b; Reintroduce&#xff1a;重定义&#xff0c;它的引入是为了屏蔽父类的一个虚方法,而在子类中生成一个新的方法; 其实你不使用reintroduce也会覆盖屏蔽父类的方法的但是会产生一个警告&#xff01; …

10.高效分布

ListView默认的分页是先从数据源取得所有数据&#xff0c;然后再截取当前页面的部分&#xff0c;在数据量非常大的情况下效率非常低&#xff0c;因此默认的分布基本不能用。应该是只从数据源取得要显示的数据即可。SQL中语句中取得分页数据的方法为&#xff1a;Select * ,ROW_N…

项目测试~

这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2 这个作业要求在哪里 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/3340 团队名称 求莫名堂 作业的目标 学会进行项目的测试&#xff0c;并通过测试发…

boost_1_48_0 在VS2008下的安装 Boost.Asio安装

第一步&#xff1a;到官网www.boost.org&#xff0c;下载boost最新版boost_1_48_0.zip第二步&#xff1a;将boost压缩包解压到C盘根目录下(在C盘操作简单&#xff0c;不会出错)&#xff0c;目录为C:\BOOST_1_48_0,里面就是boost的源码和需要编译的文件及文档资料第三步&#xf…

线程----BlockingQueue

import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** 本例介绍一个特殊的队列:BlockingQueue,如果BlockQueue是空的,从BlockingQueue取东西…

D3D9 effect (hlsl)(转)

转:http://blog.csdn.net/leonwei/article/details/8212800 effect其实整合了shader和render state的控制两大部分内容 9.1 effect文件基本框架 part1 &#xff1a;shader state包括全局变量 shader数据结构定义&#xff0c;shader的实现 part2 &#xff1a;texture and sample…

boost_1.47在VS2010下的安装

第一步&#xff1a;到官网www.boost.org&#xff0c;下载boost最新版boost_1_47_0.zip第二步&#xff1a;将boost压缩包解压到C盘根目录下(在C盘操作简单&#xff0c;不会出错)&#xff0c;目录为C:\BOOST_1_47_0,里面就是boost的源码和需要编译的文件及文档资料第三步&#xf…

创建 WPF 不规则窗口

创建 WPF 不规则窗口 本文为khler原作&#xff0c;转载必须确保本文完整并完整保留原作者信息及本文原始链接  E-mail: khler163.com  QQ: 23381103  MSN: pragmachotmail.com   相对于用MFC创建不规则窗口&#xff0c;WPF创建不规则窗体的过程就显得相当享受了&…

公司运作 - 利润率、周转率

公司一般由市场部、研发部、财务部、人力资源部及其他辅助部门组成。分成了几个层面&#xff0c;如下&#xff1a; 宏观层面&#xff1a;业务范围、业务定位、专业化、多元化部门层面&#xff1a;各部门绩效、部门职责主体层面&#xff1a;跨部门事务&#xff0c;如产品研发涉及…

ffmpeg编解码详细过程

1. 注册所有容器格式和CODEC:av_register_all() 2. 打开文件:av_open_input_file() 3. 从文件中提取流信息:av_find_stream_info() 4. 穷举所有的流&#xff0c;查找其中种类为CODEC_TYPE_VIDEO 5. 查找对应的解码器:avcodec_find_decoder() 6. 打开编解码器:avcodec_open() 7.…

使用docker 起容器配置负载均衡(加权)

首先要准备三个nginx的容器&#xff1b; 第二个容器&#xff1a; 第三个容器&#xff1a; 进入第一个容器&#xff08;主容器&#xff09; 要配置的容器&#xff08;docker exec -it 容器id /bin/bash&#xff09; vi/etc/nginx/nginx.conf 修改配置 在http{ }中加入 vi/etc/…

茴香豆的n种写法之②——Sql据多个条件 查询每个条件的前N条记录

----------------------------------- Author: liangCK 小梁-- Title : 查每个分组前N条记录-- Date : 2008-11-13 17:19:23-----------------------------------> 生成测试数据: #TIF OBJECT_ID(tempdb.dbo.#T) IS NOT NULL DROP TABLE #TCREATE TABLE #T (ID VARCHAR(3),G…

PostgreSQL建表动作分析

首先&#xff0c;建立表&#xff1a; pgsql# create table tab10(id integer); CREATE TABLE pgsql# select 147525::regclass;regclass ----------tab10 (1 row)pgsql# 查看此时的文件信息&#xff1a; [pgsqllocalhost 16384]$ pwd /home/pgsql/DemoDir/base/16384[pgsqllo…

http 断点续传,Windows下HTTP方式单线程下载

http 断点续传www.diybl.com 时间 &#xff1a; 2011-05-20 作者&#xff1a;匿名 编辑&#xff1a;hawk 点击&#xff1a; 1128 [ 评论 ]-- 原理&#xff1a; 1. 打开本地文件fopen&#xff0c;移动文件指针到文件尾fseek 2. 获得文件大小ftell, 格式化HTTP请求头 &…

给创业者的30条建议

http://www.cocoachina.com/programmer/20150206/11119.html 去年年底的时候&#xff0c;我&#xff08;Firstround Review 主编&#xff09;在 Facebook 公司的咖啡厅里和 Caryn Marooney 交流着创业公司应该注意些什么事情。Caryn Marooney 现在是 Facebook 公司科技交流部门…