页面树结构
转至元数据结尾
转至元数据起始


下拉树参数大部分设置项与下拉框参数一样,但在参数设置第二步中有特别的设置项,包括根节点、动态加载子节点等设置项。如下图所示,红色方框为特殊设置项。

  • 创建树的SQL类型:当前支持父子结构方式,必选项。
  • 自动勾选子孙:如果选择了该选项,则用户在手动勾选当前节点的同时,会自动勾选该节点的子孙节点。默认不可用,当勾选“允许多选”时该选项可用。
  • 动态加载子节点:该选项设置子节点的加载策略。如果选择了该选项,则当用户在展开下一层节点(点击>号时),才去获取子成员;反正则在初始化时初始化整颗树,默认选中。动态加载子节点能提升参数初始化的性能,建议使用此方式。
  • 检测子节点:该选项对即将展开的子节点是否还有子节点进行了预判。如果选择了该选项,则当用户展开当前节点(点击>号)时,会判断当前节点的子节点是否还有子节点,并在子节点前面以(>)号区分。如果子节点还有子节点的,则展示(>);如果没有子节点的则不展示。默认不选中。该选项会对进行大量的子节点预判,会对性能产生影响,谨慎使用。

如需使自定义父子节点的搜索有效,可在sql中添加 {[pt.c_resname = ?]},操作方式如下图所示:


示例:当展开Sales节点时,检测子节点效果如图,自定义成员、自定义命名集子节点前面不显示(>)。

不检测子节点的效果,自定义成员、自定义命名集子节点前面有(>)号。

  • 自定义父子关系:

一般情况下,父节点的实际值与备选值SQL语句中的上级节点有对应关系。如下图中的发货城市、发货区域为父子关系。

1、如果勾选了这个选项,则需要从备选值SQL中再找一个字段,将这个字段的值代入备选值SQL去过滤子节点。这时备选值语句中必须含有where部分,并且将要代入值的位置用(?)标识。

例如:select c_resid, c_resalias, c_pid from t_restree where c_pid=?

2、备选值选项的父id与根节点选项的实际值具有对应关系,查出的数据需要相同。

注:如果想控制下拉树的节点根据当前用户或组进行过滤,可以修改备选值及默认值的查询条件,比如备选值只能等于当前用户的组id(可以通过系统函数直接获取)

系统函数的具体方法可参考系统函数



  • 无标签