历史版本6 :下拉树默认值设置 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
10.0

1.2 预期效果

下拉树控件,应用在在参数查询和填报中时,希望可以设置控件默认值。

报表加载完成后控件默认有值,如下图所示,这要如何实现呢?

2020-09-02_13-40-24.gif

1.3 实现思路

参数面板中:在「属性」>「高级」>「控件值」位置填写默认值完整路径。

单元格中:1)单元格中填写默认值完整路径,2)添加「加载起始」JS 事件。

注:填入的默认值可以是控件实际值,也可以是显示值,最终效果一样。

2. 方案1-需填入完整路径编辑

2.1 参数面板中下拉树

2.1.1 单选下拉树

在控件的「属性」>「高级」>「控件值」处填写默认值的完整路径。

默认值填写规则:默认值必须写完整路径,字父节点之间用“,”隔开。举例:总部,财务部,部长 ,如下图所示:

2020-09-02_10-16-05.jpg

2.2.2 多选下拉树

在控件的「属性」>「高级」>「控件值」处填写默认值的完整路径。

默认值填写规则:默认值必须写完整路径,字父节点之间用“,”隔开,多个值之间用“;”隔开。

举例:总部,财务部,部长;总部,财务部,会计 ,如下图所示:

2020-09-02_10-28-54.jpg

2.2 单元格填报控件中下拉树

填报模板中,下拉树控件填写默认值后不会自动定位和勾选节点,需要添加 JS 事件来实现。

注:该功能仅支持 2020-08-03 及之后版本的 JAR 包。

2.2.1 填写默认值

单元格中添加下拉树控件后,直接在单元格内填写默认值。如下图所示:

image.png

填写规则:

  • 单选下拉树:默认值必须写完整路径,字父节点之间用“,”隔开,举例:总部,财务部,部长  。

  • 多选下拉树:默认值必须写完整路径,字父节点之间用“,”隔开,多个值之间用“;”隔开,举例:总部,财务部,部长;总部,财务部,会计 

2.2.2 添加 JS 事件

在「模板」>「模板WEB属性」>「填报页面设置」界面,为该模板单独添加「加载起始」JS 事件 ,如下图所示:

JS代码:

FR.Core.Plugin.ExtraWidgetConfig.autoExpandTreeNodes=true;

2020-09-02_11-00-15.jpg

3. 方案2-只填入叶子节点编辑

下拉树控件设置默认值时,默认值要求是节点完整路径,当下拉树层级较多时,填写完整路径会非常不方便。

如在填报报表中,要将多个下拉树叶子节点填入数据库,默认值设置就会非常复杂。

通过自定义函数可以实现,只填入叶子节点值的情况下,控件也可以自动定位和勾选对应节点。

3.1 自定义函数

自定义函数 TREENODEFINDER , 函数脚本见附件。

如何自定义函数可参考文档:自定义函数 。

注:附件提供的 REENODEFINDER 自定义函数目前只支持构建方式为「自动构建」的下拉树控件。

3.2 使用函数

3.2.1 函数说明:

TREENODEFINDER(param1,param2)

param1 为叶子节点值,可以是实际值,也可以是显示值,param2 为下拉树控件绑定的树数据集名称。

单个默认值时 param1 格式为 "value" ,如:TREENODEFINDER("部长", "Tree1") 

多个默认值时 param1 格式为 array(value1,value2,......) ,如 TREENODEFINDER(ARRAY(111,112),"Tree1")

注:value 为叶子节点的值

3.3.2 示例

1)参考文档 下拉树控件自动构建示例  新建模板,预览效果如下图所示:

image.png

2)点击参数面板下拉树控件,在「组件设置」>「高级」>「控件值」位置,选择「公式」,输入公式 :TREENODEFINDER("部长", "Tree1")   ,如下图所示:

2020-09-03_15-04-54.jpg

3)点击保存,预览模板,可以看到下拉树已默认勾选部长,效果如下图所示:

image.png

注:填报单元格中的下拉树设置默认值,直接在单元格中输入公式即可

4.附件下载编辑

点击下载函数脚本:TREENODEFINDER.7z

已完成模板,可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Primary\widgetReport\自定义函数设置下拉树默认值.cpt

点击下载模板:自定义函数设置下拉树默认值.cpt