queryTreeNodeChildren 事件

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

queryTreeNodeChildren 事件

1 事件介绍

插件可以在此事件,给树形控件动态添加子节点。


说明:

插件构建节点TreeNode时,可以使用TreeNode.setChildren(new ArrayList<>())方法,标记该节点有需要懒加载的子节点。

TreeNode root = new TreeNode("", "node1", "root node");
root.setChildren(new ArrayList<>());    // 需要懒加载的节点,需setChildren(new ArrayList<>())


2 事件触发时机

节点被标记为有子节点,但子节点集合为空时,用户点击节点前的”+”号,展开节点,即触发本事件。


3 代码模板

package kd.bos.plugin.sample.dynamicform.pcform.control.template;
 
import java.util.EventObject;
 
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.form.control.Control;
import kd.bos.form.control.TreeView;
import kd.bos.form.control.events.TreeNodeClickListener;
import kd.bos.form.control.events.TreeNodeEvent;
import kd.bos.form.plugin.AbstractFormPlugin;
 
public class TreeViewTreeNodeClick extends AbstractFormPlugin implements TreeNodeClickListener {
 
    private final static String KEY_TREEVIEW1 = "treeviewap1";
 
    @Override
    public void registerListener(EventObject e) {
        super.registerListener(e);
 
        // 侦听树节点点击事件,Click
        TreeView treeView = this.getView().getControl(KEY_TREEVIEW1);
        treeView.addTreeNodeClickListener(this);
    }
 
    @Override
    public void treeNodeClick(TreeNodeEvent evt) {
        Control source = (Control)evt.getSource();
        if (StringUtils.equals(source.getKey(), KEY_TREEVIEW1)){
            Object nodeId = evt.getNodeId();
            // TODO 在此添加业务逻辑
        }
    }
}


4 参数说明

public class TreeNodeEvent extends EventObject
    public Object getSource():事件源,树形控件TreeView实例;
    public Object getNodeId():当前待展开的节点标识,需要懒加载此节点的子节点;
    public Object getParentNodeId():上一级节点标识;
    public boolean isPropagation():不适用;
    public void setExpandedNode(TreeNode expandedNode):不适用。


5 应用示例

参阅树形控件使用示例,使用queryTreeNodeChildren事件懒加载子节点。

queryTreeNodeChildren 事件

1 事件介绍插件可以在此事件,给树形控件动态添加子节点。说明:插件构建节点TreeNode时,可以使用TreeNode.setChildren(new ArrayList<>...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息