ActiveReports 报表应用教程 (9)---交互式报表之动态排序

在葡萄城ActiveReports报表中除了提供对数据源进行排序的功能之外,还提供了最终用户排序功能,最终用户可以对报表进行区域内排序和整个数据源排序,结合数据钻取、过滤等功能可以让用户更方便地分析报表数据。

1、创建报表文件

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

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

名称:

NWind_CHS

类型:

Micorsoft OleDb Provider

OLE DB 提供程序:

Microsoft.Jet.OLEDB.4.0

服务器或文件名称:

Data\NWind_CHS.mdb

3、 添加数据集

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

常规-名称:Products

查询-查询:

SELECT

产品.*, 类别.类别名称,类别.说明

FROM

产品

INNERJOIN

类别

ON

产品.类别ID = 类别.类别ID

ORDERBY

类别.类别ID;

4、设计报表界面

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

5、为列头单元格添加动态排序功能

选择列头单元格,在属性对话框中的命令区域点击属性对话框,以打开文本框属性设置对话框,并在交互式排序页面中分别设置以下属性:

产品名称列:

为文本框添加交互式排序功能:True 排序表达式:=[产品名称] 数据区域或分组排序:选择数据区域或者分组,Table1_Group1 在此范围内的评估排序表达式:当前范围

单位数量列:

为文本框添加交互式排序功能:True 排序表达式:=[单位数量] 数据区域或分组排序:选择数据区域或者分组,Table1_Group1 在此范围内的评估排序表达式:当前范围

单价列:

为文本框添加交互式排序功能:True 排序表达式:=[单价] 数据区域或分组排序:选择数据区域或者分组,Table1_Group1 在此范围内的评估排序表达式:当前范围

库存量列:

为文本框添加交互式排序功能:True 排序表达式:=[库存量] 数据区域或分组排序:选择数据区域或者分组,Table1_Group1 在此范围内的评估排序表达式:当前范围

订购量列:

为文本框添加交互式排序功能:True 排序表达式:=[订购量] 数据区域或分组排序:选择数据区域或者分组,Table1_Group1 在此范围内的评估排序表达式:当前范围

再订购量列:

为文本框添加交互式排序功能:True 排序表达式:=[再订购量] 数据区域或分组排序:选择数据区域或者分组,Table1_Group1 在此范围内的评估排序表达式:当前范围

6、运行程序

通过 F5 键运行程序,在每列列头的右侧有一个排序图表,点击排序图表可以实现对数据的排序操作:

在线演示及源码下载地址:

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏点滴积累

PhiloGL学习(4)——三维对象、加载皮肤

前言 上一篇文章中介绍了如何响应鼠标和键盘事件,本文介绍如何加载三维对象并实现给三维对象添加一个漂亮的皮肤。 一、 原理分析 我对三维的理解为:所谓三维对象无非...

3476
来自专栏tkokof 的技术,小趣及杂念

iTween那些事儿(二)

  上次我们简单浏览了一番iTween的使用和原理,这次我们换个角度,转而看看iTween目前存在的一些缺陷以及一点点可能的改进之处,当然,这些所谓的缺陷或者改...

641
来自专栏Python中文社区

多种方法爬取猫眼电影并分析(附代码)

摘要: 作为小白,爬虫可以说是入门python最快和最容易获得成就感的途径。因为初级爬虫的套路相对固定,常见的方法只有几种,比较好上手。选取网页结构较为简单的猫...

7053
来自专栏一名叫大蕉的程序员

简约的JAVA版本MapReduce和日常No.25

昨天做了一个小调查,说看看想看些啥。大概的分布是这样的,一个1代表一个投票。看来还是2、3比较多。 11111 希望看到"算法"回复1。 111...

1955
来自专栏深度学习之tensorflow实战篇

计算机常用算法对照表整理

常用对照: NLP CRF算法: 中文名称条件随机场算法,外文名称conditional random field algorithm,是一种数学算法,是2...

4825
来自专栏公有云大数据平台弹性 MapReduce

分布式sql引擎原理分析-逻辑执行计划生成

本文档以当前流行的分布式大数据查询引擎Presto为切入点,分析一个query语句怎么生成为一个分段的逻辑计划。

1.1K13
来自专栏java一日一条

如何写出漂亮的 React 组件

在Walmart Labs的产品开发中,我们进行了大量的Code Review工作,这也保证了我有机会从很多优秀的工程师的代码中学习他们的代码风格与样式。在这篇...

1183
来自专栏SAP最佳业务实践

想学FM系列(19)-SAP FM模块:派生规则推导策略(2)-派生规则推导步骤-分配、表格查询

4.1.2 分配 分配:是推导过程中给某一字段赋值,如同 A = B 一样赋值。字段可以是源数据,也可以是辅助数据,也可以是目标数据。设置见下图 定义: ? ①...

5736
来自专栏XAI

【手写文字识别】-JavaAPI示例代码

手写文字识别-JavaAPI示例代码 不知不觉手写文字识别百度已经开始邀测了。需要的小伙伴去申请了哦。申请方式加入文字识别群找PM。或者工单提交申请。都要说明自...

1.4K8
来自专栏IMWeb前端团队

AMD and CMD are dead之js模块化黑魔法

缘由 在2013-03-06 13:58的时候,曾甩下一片文章叫:《为什么不使用requirejs和seajs》,并放下豪言说发布一款完美的模块化库,再后来就把...

2477

扫码关注云+社区

领取腾讯云代金券