## 类的使用
kd.bos.entity.tree.TreeNode

- 使用TreeNode的程序包
  程序包 | 说明
  --- | ---
  kd.bos.entity |
  kd.bos.entity.datamodel |
  kd.bos.entity.list |
  kd.bos.entity.report |
  kd.bos.entity.tree |
  kd.bos.form |
  kd.bos.form.control |
  kd.bos.form.control.events |
  kd.bos.form.func |
  kd.bos.list |
  kd.bos.report |
  kd.bos.report.demo |
  kd.bos.servicehelper.org |

- - ### kd.bos.entity中TreeNode的使用

    返回TreeNode的kd.bos.entity中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `static TreeNode` | RuntimeMetaUtil.`buildBillTreeNodes(MainEntityType mainType, boolean isIncludePKField, boolean isOnlyPhysicsField)`

    返回变量类型为TreeNode的类型的kd.bos.entity中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `static java.util.List<TreeNode>` | RuntimeMetaUtil.`buildFldTreeNodes(MainEntityType mainType, boolean isIncludePKField, boolean isOnlyPhysicsField)`

  - ### kd.bos.entity.datamodel中TreeNode的使用

    返回TreeNode的kd.bos.entity.datamodel中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `TreeNode` | ITreeModel.`createRootNode()`
    `TreeNode` | ITreeModel.`getRoot()`
    `TreeNode` | ITreeModel.`refreshNode(java.lang.Object nodeId)`

    参数类型为TreeNode的kd.bos.entity.datamodel中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | ITreeModel.`addNode(java.lang.Object currNodeId, TreeNode newNode)`
    `void` | ITreeModel.`deleteNode(TreeNode node, boolean includeChild)`
    `void` | ITreeModel.`setRoot(TreeNode root)`

  - ### kd.bos.entity.list中TreeNode的使用

    返回变量类型为TreeNode的类型的kd.bos.entity.list中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `java.util.List<TreeNode>` | IQuery.`getGroupNodes(GroupProp groupProp, java.util.List<kd.bos.orm.query.QFilter> filters, java.lang.String format, java.lang.Object parentId, java.lang.String longNumber, java.util.Map<java.lang.String,java.lang.Object> queryParas)`

  - ### kd.bos.entity.report中TreeNode的使用

    返回变量类型为TreeNode的类型的kd.bos.entity.report中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `java.util.List<TreeNode>` | TreeModel.`getNodes()`
    `abstract java.util.List<TreeNode>` | AbstractReportTreeDataPlugin.`query(ReportQueryParam queryParam, java.lang.String nodeId)` 查询数据

    类型变量类型为TreeNode的kd.bos.entity.report中的方法参数
    限定符和类型 | 方法和说明
    --- | ---
    `void` | TreeModel.`setNodes(java.util.List<TreeNode> nodes)`

    类型变量类型为TreeNode的kd.bos.entity.report中的构造器参数
    构造器和说明
    `TreeModel(java.util.List<TreeNode> nodes)`

  - ### kd.bos.entity.tree中TreeNode的使用

    返回TreeNode的kd.bos.entity.tree中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `TreeNode` | TreeNode.`addChild(int i, TreeNode node)` 特定位置添加单个子节点
    `TreeNode` | TreeNode.`addChild(TreeNode node)` 添加单个子节点
    `TreeNode` | TreeNode.`addChildren(java.util.List<TreeNode> nodes)` 添加多个子节点
    `TreeNode` | TreeNode.`deleteChildNode(java.lang.String id)` 递归删除子节点
    `TreeNode` | TreeNode.`getTreeNode(java.lang.String id, int maxLevel)` 递归查找id所在节点
    `TreeNode` | TreeNode.`getTreeNodeByText(java.lang.String text, int maxLevel)` 递归查找text所在节点
    `static TreeNode` | TreeNode.`Parse(java.lang.String rootParentId, java.util.Map<java.lang.String,java.lang.Object> map, java.lang.String idKey, java.lang.String textKey, java.lang.String itemsKey)` Map 转 TreeNode

    返回变量类型为TreeNode的类型的kd.bos.entity.tree中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `java.util.List<TreeNode>` | TreeNode.`getChildPathNodes(java.lang.String id)` 获取子节点路径
    `java.util.List<TreeNode>` | TreeNode.`getChildren()`
    `java.util.List<TreeNode>` | TreeNode.`getTreeNodeListById(java.util.List<TreeNode> treeNodes, java.lang.String id, int maxLevel)` 递归查找模糊匹配id所有节点
    `java.util.List<TreeNode>` | TreeNode.`getTreeNodeListByText(java.util.List<TreeNode> treeNodes, java.lang.String text, int maxLevel)` 递归查找text所在节点

    参数类型为TreeNode的kd.bos.entity.tree中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `TreeNode` | TreeNode.`addChild(int i, TreeNode node)` 特定位置添加单个子节点
    `TreeNode` | TreeNode.`addChild(TreeNode node)` 添加单个子节点

    类型变量类型为TreeNode的kd.bos.entity.tree中的方法参数
    限定符和类型 | 方法和说明
    --- | ---
    `TreeNode` | TreeNode.`addChildren(java.util.List<TreeNode> nodes)` 添加多个子节点
    `java.util.List<TreeNode>` | TreeNode.`getTreeNodeListById(java.util.List<TreeNode> treeNodes, java.lang.String id, int maxLevel)` 递归查找模糊匹配id所有节点
    `java.util.List<TreeNode>` | TreeNode.`getTreeNodeListByText(java.util.List<TreeNode> treeNodes, java.lang.String text, int maxLevel)` 递归查找text所在节点
    `void` | TreeNode.`iterate(int maxLevel, java.util.function.Consumer<TreeNode> callback)` 遍历所有节点
    `void` | TreeNode.`setChildren(java.util.List<TreeNode> arrayList)`

  - ### kd.bos.form中TreeNode的使用

    返回TreeNode的kd.bos.form中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `static TreeNode` | FormMetadataCache.`getEntityTypeTree(EntityType dt)`

    类型变量类型为TreeNode的kd.bos.form中的方法参数
    限定符和类型 | 方法和说明
    --- | ---
    `TreeView.TreeState` | IClientViewProxy.`checkNodes(java.lang.String key, java.util.List<TreeNode> nodes)` 检查节点状态
    `TreeView.TreeState` | IClientViewProxy.`checkNodesWithoutChild(java.lang.String key, java.util.List<TreeNode> nodes)`

  - ### kd.bos.form.control中TreeNode的使用

    参数类型为TreeNode的kd.bos.form.control中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | TreeView.`addNode(TreeNode node)` 添加多个节点到对应parentId所在节点下面（parentId为空时直接添加到树上作为根节点）
    `void` | TreeView.`checkNode(TreeNode node)`
    `void` | TreeView.`checkNodeWithoutChild(TreeNode node)` 勾选不带子节点
    `void` | TreeView.`focusNode(TreeNode node)` 设置焦点
    `void` | TreeView.`updateNode(TreeNode node)`

    类型变量类型为TreeNode的kd.bos.form.control中的方法参数
    限定符和类型 | 方法和说明
    --- | ---
    `void` | TreeView.`addNodes(java.util.List<TreeNode> nodes)` 添加多个节点到对应parentId所在节点下面（parentId为空时直接添加到树上作为根节点）
    `void` | TreeView.`checkNodes(java.util.List<TreeNode> nodes)`
    `void` | TreeView.`checkNodesWithoutChild(java.util.List<TreeNode> nodes)`
    `void` | TreeView.`updateNodes(java.util.List<TreeNode> nodes)` 替换整个节点

  - ### kd.bos.form.control.events中TreeNode的使用

    返回TreeNode的kd.bos.form.control.events中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `TreeNode` | TreeNodeEvent.`getExpandedNode()`

    返回变量类型为TreeNode的类型的kd.bos.form.control.events中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `java.util.List<TreeNode>` | RefreshNodeEvent.`getChildNodes()`

    参数类型为TreeNode的kd.bos.form.control.events中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | TreeNodeEvent.`setExpandedNode(TreeNode expandedNode)` 设置展开后节点。

    类型变量类型为TreeNode的kd.bos.form.control.events中的方法参数
    限定符和类型 | 方法和说明
    --- | ---
    `void` | RefreshNodeEvent.`setChildNodes(java.util.List<TreeNode> childNodes)` 设置刷新后节点。

  - ### kd.bos.form.func中TreeNode的使用

    参数类型为TreeNode的kd.bos.form.func中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `static FormShowParameter` | FuncSettingHelper.`createShowParameter(FunctionTypes functionTypes, TreeNode varNodes, CloseCallBack closeCallBack)` 构造显示参数
    `static void` | FuncSettingHelper.`show(FunctionTypes functionTypes, java.util.List<java.util.Map<java.lang.String,java.lang.Object>> entityItems, TreeNode fieldNodes, java.util.Map<java.lang.String,java.lang.String> custParams, IFormView view, CloseCallBack closeCallBack)` 基于单据设计时，显示函数配置界面
    `static void` | FuncSettingHelper.`show(FunctionTypes functionTypes, java.lang.String entityNumber, TreeNode fieldNodes, java.util.Map<java.lang.String,java.lang.String> custParams, IFormView view, CloseCallBack closeCallBack)` 基于单据运行时，显示函数配置界面
    `static void` | FuncSettingHelper.`show(FunctionTypes functionTypes, TreeNode varNodes, java.util.Map<java.lang.String,java.lang.String> custParams, IFormView view, CloseCallBack closeCallBack)` 非单据环境，显示函数配置界面

  - ### kd.bos.list中TreeNode的使用

    返回TreeNode的kd.bos.list中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `TreeNode` | AbstractTreeListView.`getRoot()`

    参数类型为TreeNode的kd.bos.list中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | AbstractTreeListView.`setRoot(TreeNode root)`

  - ### kd.bos.report中TreeNode的使用

    返回TreeNode的kd.bos.report中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `TreeNode` | ReportTree.`getTreeNode(java.lang.String nodeId)` 获取节点对象

  - ### kd.bos.report.demo中TreeNode的使用

    返回变量类型为TreeNode的类型的kd.bos.report.demo中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `java.util.List<TreeNode>` | DemoReportTreeDataPlugin.`query(ReportQueryParam queryParam, java.lang.String nodeId)`

  - ### kd.bos.servicehelper.org中TreeNode的使用

    返回TreeNode的kd.bos.servicehelper.org中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `static TreeNode` | OrgUnitServiceHelper.`getTreeRootNodeById(kd.bos.org.model.OrgTreeParam param)`

    返回变量类型为TreeNode的类型的kd.bos.servicehelper.org中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `static java.util.List<TreeNode>` | OrgUnitServiceHelper.`getTreeChildren(kd.bos.org.model.OrgTreeParam param)`