- 浏览: 67534 次
- 性别:
- 来自: 北京
最新评论
有些用户想完成双向的动态过滤功能,如填报项有角色和员工,它们两者是多对多的关系,一个员工可能有多个角色,一个角色有多个员工。双向过滤需要实现当先选择角色时,用户下拉框过滤出该角色下所有的员工;当先选择员工时,角色下拉框过滤出该员工拥有的所有角色。
集智数据平台填报表可以实现关联过滤的功能,该功能能方便用户进行选择项的关联筛选,用户可基于该功能完成以上需求。
下面的内容是具体的实现步骤:
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 823RBP的系统管理中设置了日志管理,通过『日志管理』功能模块 ... -
RBP中新增自由格式报表资源之自由格式风格
2011-09-26 22:19 828RBP的资源中心模块提供了新建资源的自由格式报表功能, ... -
决策分析平台(RBP)在weblogic8.1下的部署
2011-09-15 21:40 859润乾决策分析平台(简 ... -
润乾决策分析平台(RBP)功能模块介绍
2011-09-15 21:34 891润乾决策分析平台,简称RBP,英文全称为RAQ Busines ... -
决策分析平台(RBP)在tomcat下的部署
2011-09-15 21:26 964润乾决策分析平台(简称RBP)是面向企业级应用的决策分析解决方 ... -
RBP系统管理之服务器参数管理
2011-09-15 21:18 796<p> </p> <p styl ... -
RBP系统管理之用户审批
2011-09-15 21:10 845RBP的系统管理中包括组织机构管理、业务角色管理、系统用 ... -
RBP系统管理之地区管理
2011-09-15 20:58 838RBP的系统管理中包括 ... -
RBP系统管理之系统用户管理
2011-09-15 20:46 789RBP的系统管理中包括组织机构管理、业务角色管理、系统用 ... -
RBP的个人信息管理与个人资料
2011-09-15 20:41 646RBP提供了个人信息管理和个人资料查看功能。下面就简单介 ... -
RBP中的密码规则与口令加解密参数
2011-09-15 20:29 890RBP的系统管理中提供 ... -
RBP系统管理之业务角色管理
2011-09-15 20:21 1092RBP的系统管理中包括 ... -
RBP系统管理之组织机构管理
2011-09-15 20:05 763RBP的系统管理中包括 ... -
润乾决策分析平台(RBP)用户授权机制介绍
2011-09-15 19:57 677润乾决策分析 平台(RBP)是面向企业端报表需要的客户提 ... -
RBP的参数配置文件reportConfig.xml介绍
2011-09-15 19:50 1187润乾决策分析 平台(RBP)的应用包reportmis/ ... -
基于API导出带有页眉页脚的excel
2011-08-30 23:07 1442Posted in 集智 集智数据平台报表中设置的页眉 ... -
参数和宏的极致使用
2011-08-30 22:52 1139本文通过一个使用参数和宏结合实现复杂数据权限需求的案例,分享给 ... -
集智数据平台两种数据源连接的配置方式
2011-08-30 22:44 759在集智数据平台中提供了两种数据源连接的配置方式,均通过repo ... -
润乾导出WPS office文档格式的说明
2011-08-26 23:05 889针对microsoft office的文档格式,WPS off ... -
.Excel进行数据转换后执行导入
2011-08-26 22:59 949润乾报表提供了强大 ...
相关推荐
使用VB代码巧妙制作家庭版小型财务报表,生成报表后,还具备打印和预览的功能,本程序使用VB 6.0自带的数据报表功能,轻松显示家庭财务报表的管理收支情况,VB初学者也可借本实例掌握报表的制作方法。
安卓转盘按钮效果巧妙实现,很简单,很巧妙。自定义imagebutton
逃跑按钮的巧妙实现
巧妙分析财务报表中的各个数据-会计实务之财务报表.doc
反射高手巧妙实现强行私有成员源代码 反射高手巧妙实现强行私有成员源代码 反射高手巧妙实现强行私有成员源代码
第八课 逃跑按钮的巧妙实现 2.rar 第八课 逃跑按钮的巧妙实现 2.rar 第八课 逃跑按钮的巧妙实现 2.rar
第八课 逃跑按钮的巧妙实现 1.rar 第八课 逃跑按钮的巧妙实现 1.rar 第八课 逃跑按钮的巧妙实现 1.rar
这是我们公司的框架代码,给分,谢谢!js,javascript得到一个月份的最大天数,巧妙实现js,javascript得到一个月份的最大天数,巧妙实现js,javascript得到一个月份的最大天数,巧妙实现
巧妙实现普通网卡支持TRUNK VLAN
不使用pageHelper在java项目中巧妙实现clickhouse分页,方便快捷,两个页面实现,亲测可用
XP SP2中巧妙实现时间同步.txt
Android圆形菜单,巧妙实现,是使用自定义组件,自定义ImageView组件
财税实务:巧妙分析财务报表中的各个数据-.pdf
在vc环境下逃跑按钮的巧妙实现,代码齐全,可直接使用和学习,是学习vc的好实例,窗口学习。
布隆过滤器( BloomFilter )是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。这篇文章主要介绍了python...
让Excel巧妙实现表格自动隔行着色.docx
5台电机依次启停之用海为PLC巧妙实现doc,5台电机依次启停之用海为PLC巧妙实现
【会计实操经验】巧妙分析财务报表中的各个数据-.pdf
巧妙分析财务报表中的各个数据[会计实务优质文档].doc