用例说明

在报表制作过程中,往往会遇到以下情况,例如按机构上下级组织的机构树。

1、参数的备选值过多;

2、且相互之间含有上下级关系;

3、适合以多级结构来进行展示的。

在本例中,通过系统内置的树形参数控件来实现此效果,如下图所示:

实现步骤

要实现上面的效果,请执行以下操作:

1、设置下拉树参数控件。

1)新建参数,在参数设置的第一个界面中,“控件类型”选择 下拉树 ,这样才会在展示时使用以树形结构来展示。

2)点击 下一步 进入下一个设置界面。【本示例使用了northwind数据源内的region_tree表】

在第二步参数设置界面中,有更多的参数行为控制选项。其中最重要的选项列出如下:

  • 备选值设置:树的备选值是一个SQL语句,用于从数据库中检索出每一个指定节点的下级节点。SQL至少需要包含3个字段,分别是实际值、显示值、上级节点的实际值;而SQL的where部分由系统根据当前要展开的父节点自动补全。
  • 默认值设置:树的默认值同样是一个SQL语句,用于在树参数第一次初始化后的取值。SQL至少需要包含3个字段,分别是实际值、显示值、上级节点的实际值。默认值可以不写,表示空。
  • 根节点:树的根节点是一个SQL语句,用于从数据库中检索出树的最顶层节点。SQL至少需要包含2个字段,分别是实际值、显示值。
  • 允许多选:如果选择这个选项,则用户可以在树上勾选多个节点,反之只能勾选一个。
  • 自动勾选子孙:如果选择了这个选项,则用户在勾选当前节点的同时,会自动勾选该节点的子孙节点。
  • 动态加载子节点:如果选择了这个选项,则当用户在点击下一层的(>)号的时候,才去获取子成员;反之则在初始化时初始化整颗树。
  • 检测子节点:如果选择了这个选项,则当用户展开下一层的时候,会判断这些新展开的成员是否有子节点,并以(>)(∨)区分,对于标记为()的节点,不会再展开;反之,则统一展示(>),用户展示此节点时,都执行备选值查询语句。
  • 自定义父子关系:如果不勾选这个选项,默认情况下,父节点的实际值与备选值SQL语句中的上级节点有对应关系;如果勾选了这个选项,则需要从备选值SQL中再找一个字段,将这个字段的值代入备选值SQL去过滤子节点。这时备选值语句中必须含有where部分,并且将要代入值的位置用(?)标识。

3)参数设置的第三步界面,需要从查询包含的字段中挑选出备选值、默认值、根节点的实际值、显示值。设置好后点击 保存 按钮退出。

2、创建一个可视化数据集,点击预览数据可查看下拉树参数效果。

效果如下:

3、搜索参数值

当参数过多难以快速找到时,我们可以在搜索文本框中输入参数值进行搜索。支持模糊搜索。

效果如下: