- 浏览: 70514 次
- 性别:
- 来自: 北京
最新评论
有些用户想完成双向的动态过滤功能,如填报项有角色和员工,它们两者是多对多的关系,一个员工可能有多个角色,一个角色有多个员工。双向过滤需要实现当先选择角色时,用户下拉框过滤出该角色下所有的员工;当先选择员工时,角色下拉框过滤出该员工拥有的所有角色。
集智数据平台填报表可以实现关联过滤的功能,该功能能方便用户进行选择项的关联筛选,用户可基于该功能完成以上需求。
下面的内容是具体的实现步骤:
1. 数据集准备:
内建数据集,记录角色和员工的对应关系。数据结果如下:
其中角色“普通员工”为所有员工都有的角色,用户“admin”拥有全部的角色。注意该角色和用户不会在下拉数据集中出现,具体实现见下文。
2. 报表模板设计
B1单元格编辑风格为下拉数据集,具体设置如下图:
从取数表达式可以看出,该下拉数据集中不会出现“普通员工”选项。该单元格的触发关联过滤单元格为D1,也就是D1选择值的变化会触发该单元格按照过滤表达式进行数据过滤。过滤关联表达式为”员工=F1.toString()”,其中F1会记录D1的选择结果,下图为F1单元格的自动计算属性定义,使用表达式D1.toString()==”"?”admin”:${D1}.toString(),在D1未选(为空)的情况下值为admin,如果D1已有选择项则F1值为D1单元格的值。注意员工admin对应的角色为全部角色,从而实现初始时全部角色下拉列表的实现。
同理B1单元格编辑风格为下拉数据集,具体设置如下图:
取数表达式为员工!=”admin”,该下拉数据集中不会出现“admin”选项。该单元格的触发关联过滤单元格为B1,也就是B1选择值的变化会触发该单元格按照过滤表达式进行数据过滤。过滤关联表达式为”角色=E1.toString()”,其中E1会记录B1的选择结果,下图为E1单元格的自动计算属性定义,使用表达式B1.toString()==”"?”普通员工“:${B1}.toString(),在B1未选(为空)的情况下值为普通员工,如果B1已有选择项则E1值为B1单元格的值。注意员工普通员工对应的员工为所有员工,从而实现初始时全部员工下拉列表的实现。
C2和E2单元格用于记录填报值,其结果分别和E1和F1结果对应,用自动计算来实现。其中C2的自动计算表达式为:E1.toString()==”普通员工“?”未选“:E1.toString(),如果E1为”普通员工”,即B1选择为空的情况下,显示为”未选”,否则和E1结果保持一致(E1和B1选择项也保持一致)。
实现效果:
角色下拉框初始效果:
员工下拉框初始效果:
选择角色后的员工下拉框过滤效果:
选择员工后的角色下拉框过滤效果:
小结:
1. 利用单元格填报属性中下拉数据集编辑风格的关联过滤表达式完成单元格间的关联过滤。
2. 因为两个填报单元格互为触发单元格,完成选择后不能再选择单元格上保留选择结果。须利用另外的两个单元格记录填报结果,如果要绑定数据库提交,更新值应取另外的这两个单元格值更新数据库。
集智数据平台填报表可以实现关联过滤的功能,该功能能方便用户进行选择项的关联筛选,用户可基于该功能完成以上需求。
下面的内容是具体的实现步骤:
1. 数据集准备:
内建数据集,记录角色和员工的对应关系。数据结果如下:
其中角色“普通员工”为所有员工都有的角色,用户“admin”拥有全部的角色。注意该角色和用户不会在下拉数据集中出现,具体实现见下文。
2. 报表模板设计
B1单元格编辑风格为下拉数据集,具体设置如下图:
从取数表达式可以看出,该下拉数据集中不会出现“普通员工”选项。该单元格的触发关联过滤单元格为D1,也就是D1选择值的变化会触发该单元格按照过滤表达式进行数据过滤。过滤关联表达式为”员工=F1.toString()”,其中F1会记录D1的选择结果,下图为F1单元格的自动计算属性定义,使用表达式D1.toString()==”"?”admin”:${D1}.toString(),在D1未选(为空)的情况下值为admin,如果D1已有选择项则F1值为D1单元格的值。注意员工admin对应的角色为全部角色,从而实现初始时全部角色下拉列表的实现。
同理B1单元格编辑风格为下拉数据集,具体设置如下图:
取数表达式为员工!=”admin”,该下拉数据集中不会出现“admin”选项。该单元格的触发关联过滤单元格为B1,也就是B1选择值的变化会触发该单元格按照过滤表达式进行数据过滤。过滤关联表达式为”角色=E1.toString()”,其中E1会记录B1的选择结果,下图为E1单元格的自动计算属性定义,使用表达式B1.toString()==”"?”普通员工“:${B1}.toString(),在B1未选(为空)的情况下值为普通员工,如果B1已有选择项则E1值为B1单元格的值。注意员工普通员工对应的员工为所有员工,从而实现初始时全部员工下拉列表的实现。
C2和E2单元格用于记录填报值,其结果分别和E1和F1结果对应,用自动计算来实现。其中C2的自动计算表达式为:E1.toString()==”普通员工“?”未选“:E1.toString(),如果E1为”普通员工”,即B1选择为空的情况下,显示为”未选”,否则和E1结果保持一致(E1和B1选择项也保持一致)。
实现效果:
角色下拉框初始效果:
员工下拉框初始效果:
选择角色后的员工下拉框过滤效果:
选择员工后的角色下拉框过滤效果:
小结:
1. 利用单元格填报属性中下拉数据集编辑风格的关联过滤表达式完成单元格间的关联过滤。
2. 因为两个填报单元格互为触发单元格,完成选择后不能再选择单元格上保留选择结果。须利用另外的两个单元格记录填报结果,如果要绑定数据库提交,更新值应取另外的这两个单元格值更新数据库。
发表评论
-
RBP系统管理之日志管理
2011-09-26 22:57 886RBP的系统管理中设置了日志管理,通过『日志管理』功能模块 ... -
RBP中新增自由格式报表资源之自由格式风格
2011-09-26 22:19 894RBP的资源中心模块提供了新建资源的自由格式报表功能, ... -
决策分析平台(RBP)在weblogic8.1下的部署
2011-09-15 21:40 905润乾决策分析平台(简 ... -
润乾决策分析平台(RBP)功能模块介绍
2011-09-15 21:34 931润乾决策分析平台,简称RBP,英文全称为RAQ Busines ... -
决策分析平台(RBP)在tomcat下的部署
2011-09-15 21:26 1032润乾决策分析平台(简称RBP)是面向企业级应用的决策分析解决方 ... -
RBP系统管理之服务器参数管理
2011-09-15 21:18 831<p> </p> <p styl ... -
RBP系统管理之用户审批
2011-09-15 21:10 924RBP的系统管理中包括组织机构管理、业务角色管理、系统用 ... -
RBP系统管理之地区管理
2011-09-15 20:58 887RBP的系统管理中包括 ... -
RBP系统管理之系统用户管理
2011-09-15 20:46 826RBP的系统管理中包括组织机构管理、业务角色管理、系统用 ... -
RBP的个人信息管理与个人资料
2011-09-15 20:41 692RBP提供了个人信息管理和个人资料查看功能。下面就简单介 ... -
RBP中的密码规则与口令加解密参数
2011-09-15 20:29 947RBP的系统管理中提供 ... -
RBP系统管理之业务角色管理
2011-09-15 20:21 1166RBP的系统管理中包括 ... -
RBP系统管理之组织机构管理
2011-09-15 20:05 807RBP的系统管理中包括 ... -
润乾决策分析平台(RBP)用户授权机制介绍
2011-09-15 19:57 712润乾决策分析 平台(RBP)是面向企业端报表需要的客户提 ... -
RBP的参数配置文件reportConfig.xml介绍
2011-09-15 19:50 1230润乾决策分析 平台(RBP)的应用包reportmis/ ... -
基于API导出带有页眉页脚的excel
2011-08-30 23:07 1504Posted in 集智 集智数据平台报表中设置的页眉 ... -
参数和宏的极致使用
2011-08-30 22:52 1184本文通过一个使用参数和宏结合实现复杂数据权限需求的案例,分享给 ... -
集智数据平台两种数据源连接的配置方式
2011-08-30 22:44 792在集智数据平台中提供了两种数据源连接的配置方式,均通过repo ... -
润乾导出WPS office文档格式的说明
2011-08-26 23:05 936针对microsoft office的文档格式,WPS off ... -
.Excel进行数据转换后执行导入
2011-08-26 22:59 1019润乾报表提供了强大 ...
相关推荐
在编程领域,双向链表是一种数据结构...通过巧妙地利用节点的状态,我们可以创建一个既节省空间又具有双向功能的数据结构。这种实现方式对于理解和优化数据结构的内部工作原理非常有帮助,也是编程技巧的一种良好锻炼。
使用VB代码巧妙制作家庭版小型财务报表,生成报表后,还具备打印和预览的功能,本程序使用VB 6.0自带的数据报表功能,轻松显示家庭财务报表的管理收支情况,VB初学者也可借本实例掌握报表的制作方法。
巧妙实现普通网卡支持TRUNK VLAN
在 Delphi 开发中,...通过巧妙地利用 QuickReport 的功能,我们可以创建出复杂的报表布局,满足特定的打印需求。在实际项目中,开发者需要根据具体的数据结构和用户界面要求进行调整,以确保报表的准确性和易读性。
实现这种效果的关键在于巧妙地控制单片机的GPIO(General-Purpose Input/Output)引脚。GPIO可以设置为输入或输出模式,根据程序指令控制其电平状态,从而驱动LED灯。 编程中,我们需要定义一个数组来存储LED的状态...
标题中的“可实现双向直线运动的夹心换能器式驻波超声电机”是一种先进的机电一体化设备,它结合了超声技术与精密驱动技术,主要用于实现微小或精细的直线运动控制。这种电机通常应用于高精度定位、精密加工、光学...
财税实务:巧妙分析财务报表中的各个数据 本资源摘要信息将详细介绍财税实务中巧妙分析财务报表中的各个数据的要点。通过本篇资源摘要信息,您将学习到如何从财务报表中提取有价值的信息,如何进行行业分析,如何对...
总结来说,基于Delphi和SQL Server实现交叉报表的关键在于巧妙地利用Delphi的内置控件和SQL Server的存储过程功能。通过编写定制的SQL逻辑,可以在不增加额外成本的情况下,实现复杂报表的生成,满足企业的各种报表...
本话题将深入探讨如何在水晶易表中巧妙地实现日历控件的点选后自动隐藏,提升报表的用户体验。 首先,我们需要了解日历控件在水晶易表中的作用。日历控件通常用于用户选择日期,为报表提供动态筛选条件。用户在报表...
在C#报表服务中,子报表的使用可以通过引用其他RDL(Report Definition Language)文件实现,RDL是SSRS用来定义报表结构和样式的XML语言。 创建子报表的步骤大致如下: 1. **设计子报表**:使用Report Designer...
"巧妙分析财务报表中的各个数据-会计实务之财务报表" 财务报表分析是企业财务管理的重要组成部分,能够帮助企业更好地了解自己的财务状况,进行科学的决策,提高企业的经营管理水平。下面是基于财务报表分析的知识...
"安卓转盘按钮效果巧妙实现"这个主题就是关于如何在Android应用中创建一个引人注目的交互式转盘按钮。这种效果通常用于游戏或者设置选项中,给用户提供一种新颖的交互方式。 转盘按钮的实现主要涉及到自定义View或...
这是我们公司的框架代码,给分,谢谢!js,javascript得到一个月份的最大天数,巧妙实现js,javascript得到一个月份的最大天数,巧妙实现js,javascript得到一个月份的最大天数,巧妙实现
在不破坏这一结构的同时,在MVC模式下集成水晶报表需要一个更巧妙的方法。 建立自己的水晶报表是第一步,比如命名为StackingDemoRep2。接下来,我们需要在ASP.NET MVC的项目结构中的Controller文件夹里创建一个控制...
本文将深入探讨如何使用ItemDecoration巧妙实现吸附效果。 首先,RecyclerView.ItemDecoration是一个接口,它提供了自定义 RecyclerView 外观的机会,包括但不限于分隔线、背景颜色、边距等。我们可以通过重写它的`...
本文将深入探讨如何巧妙地利用JavaScript来实现这个功能。 首先,我们需要了解HTML中的`<table>`元素及其相关结构。一个基本的表格由`<table>`、`<tr>`(行)、`<th>`(表头单元格)和`<td>`(数据单元格)组成。...
### ORACLE DECODE函数在中国式报表统计查询中的组合条件实现 #### 一、引言 在Oracle数据库中,`DECODE`函数是一种非常实用的功能,主要用于条件判断并返回不同的值。它经常被用来进行简单的条件分支处理,尤其...
资源内包含Tableau的twbx模板文件以及excel数据源,有需要的小伙伴可以自行下载使用,如需查看视频讲解可以访问西瓜视频:...