设置控件状态
控件状态
控件状态分为当前初始状态的设置与触发其他控件的条件设置。触发其它控件条件设置为一个JS函数,由用户自行实现。JS中可获取到当前控件和其它控件的值,当前JS对于哪一个控件起作用也由用户在JS中自行指定。
当前控件初始状态:
- 锁定:指报表初次预览时此控件默认锁定不可选。
- 隐藏:指报表初次预览时此控件默认隐藏。
触发其它特性控件条件设置:
一、动态控制查询条件的隐藏和显示
getValue('本查询字段名称'{,'重名字段排序'})
setStatus('控件状态代码','希望触发的查询字段名称' {,'重名字段排序'})
重名字段排序为通用查询面板中从上至下重名查询字段的排位计数,计数从0开始(缺省默认为0)。
控件状态默认-1为正常可选状态,0为锁定状态,1为隐藏状态。
使用方式可参考 控件状态的设置 例1和例2。
二、动态匹配首个符合条件的数据
autoFilter("触发自动过滤的查询字段1,触发自动过滤的查询字段2")
需要和下拉数据集(下拉树)的关联过滤结合起来使用,具体可参考编辑风格->数据集选择。
具体设置可参考 控件状态的设置 例3。
自定义
自定义状态和自定义查询结合使用:自定义字段增加后,控制状态显示为自定义,预定义字段的控制状态可修改为自定义,修改后此字段为自定义字段。
控件状态的设置
例1:
使用场景:多个查询条件,只有设置了某个查询条件后,其余查询条件才显示,此时可通过控件状态动态控件条件的显示与隐藏。
例如,查询条件Type和ID,当Type字段查询条件未选值时ID字段查询条件在查询面板中隐藏,Type字段查询条件选值时id字段查询条件才显示并可选。
- 首先将ID字段的初始状态设置为隐藏
- 再将Type字段查询条件的控件状态设置为setStatus('-1','ID'),当Type字段查询条件选值时ID字段查询条件为正常可选状态
- 预览效果
例2:
使用场景:两个查询条件,只有某个查询条件的条件值为某一固定值时,另一个查询条件才显示。通过控件状态可实现上述效果。
例如:查询条件Type和ID,当Type字段查询条件为“总行”时,ID字段查询条件在查询面板中显示并可选,Type字段查询条件为其它值时,ID字段查询条件隐藏。
- 首先将ID字段的初始状态设置为隐藏
- 再将Type字段查询条件的控件状态设置为if(getValue('TYPE')=='总行'){ setStatus('-1','ID')}else{ setStatus('1','ID')} 。如果Type字段查询条件为“总行”,ID字段查询条件在查询面板中显示并可选,否则,ID字段查询条件隐藏。
例3:
使用场景:两个查询条件关联过滤,且设置一个查询条件后,另一个查询条件自动回填符合条件的数据,此效果可通过控件状态实现。
例如:已有查询条件货主地区和货主城市,货主城市根据货主地区进行关联过滤。要实现当货主地区改变时,货主城市字段查询条件自动选择当前列表中第一个数据并回填。
- 设置货主地区的控件状态为:autoFilter("货主城市"),当货主地区改变是触发货主城市字段查询条件自动过滤。
说明:
1、如果设置城市可为空,则不会显示符合条件的值。
2、设置触发其它特性控件条件时,autoFilter里面对应的是字段名,不能是别名。
3、如果js书写有问题,会给出相应的提示信息。