用例说明
在报表制作过程中,往往会遇到参数的备选值过多、且相互之间含有上下级关系,适合以多级结构来进行展示的情况,例如按机构上下级组织的机构树。
在本例中,通过系统内置的树形参数控件来实现此效果,如下图所示。
实现步骤
要实现上面的效果,请执行以下操作:
1.设置树形参数控件
1) 新建参数,在参数设置的第一个界面中,【控件类型】选择【下拉树】,这样才会在展示时使用树形结果来展示。
2) 点击【下一步】进入下一个设置界面。
在第二步参数设置界面中,有更多的参数行为控制选项。其中最重要的选项列出如下:
- 备选值设置:树的备选值是一个SQL语句,用于从数据库中检索出每一个指定节点的下级节点。SQL至少需要包含3个字段,分别是实际值、显示值、上级节点的实际值;而SQL的where部分由系统根据当前要展开的父节点自动补全。
- 默认值设置:树的默认值同样是一个SQL语句,用于在树参数第一次初始化后的取值。SQL至少需要包含3个字段,分别是实际值、显示值、上级节点的实际值。默认值可以不写,表示空。
- 根节点:树的根节点是一个SQL语句,用于从数据库中检索出树的最顶层节点。SQL至少需要包含2个字段,分别是实际值、显示值。
- 允许多选:如果选择这个选项,则用户可以在树上勾选多个节点,反之只能勾选一个。
- 自动勾选子孙:如果选择了这个选项,则用户在勾选当前节点的同时,会自动勾选该节点的子孙节点。
- 动态加载子节点:如果选择了这个选项,则当用户在点击下一层的(>)号的时候,才去获取子成员;反正则在初始化时初始化整颗树。
- 检测子节点:如果选择了这个选项,则当用户展开下一层的时候,会判断这些新展开的成员是否有子节点,并以(>)(∨)区分,对于标记为(∨)的节点,不会再展开;反之,则统一展示(>),用户展示此节点时,都执行备选值查询语句。
- 自定义父子关系:如果不勾选这个选项,默认情况下,父节点的实际值与备选值SQL语句中的上级节点有对应关系;如果勾选了这个选项,则需要从备选值SQL中再找一个字段,将这个字段的值代入备选值SQL去过滤子节点。这时备选值语句中必须含有where部分,并且将要代入值的位置用(?)标识。
3) 参数设置的第三步界面,需要从查询包含的字段中挑选出备选值、默认值、根节点的实际值、显示值。设置好后点击【保存】按钮退出。
2.创建一个可视化查询,点击预览数据可查看下拉树参数效果。
效果如下:
3.搜索参数值
当参数过多难以快速找到时,我们可以在搜索文本框中输入参数值进行搜索。