1. 功能介绍

    实现动态树,动态树并不是一次全部展现的,初始化的时候只展现根节点,当用户点击的时候,再展现下一及节点,适应于大数据量的树形结构,因为是点击即载入点击的子节点,加快载入速度,动态树可以定制图表、定制checkbox等。

  2. 参数说明

    参数名 参数类型 是否必须 默认值 描述
    root com.linkage.appframework.data.IData   根结点
    nodes com.linkage.appframework.data.IDataset   点击展开节点动作后的节点集和
    param com.linkage.webframework.tapestry.components.loadtree.TreeParam   节点参数配置,如节点显示的名称,触发动作等
    listener org.apache.tapestry.IactionListener   点展开节点的动作
    expand boolean类型   true 是否展开根节点
    checkbox boolean类型   false 是否带checkbox,checkbox的名称、赋值、是否选中,点击动作在TreeParam中配置
    nodeType java.lang.String类型   checkbox 设置节点类型,必须checkbox="true"时才会生效,支持checkbox(多选)|radion(单选)两种选项值的设置
    folder boolean   true 树结点是否需要文件夹图标,满足不同风格需求,为false时树结点只有+-图标
  3. 注意事项

    1. 构造树形对象时,传递参数和其他应用一样,用setTransfer…,动态树逻辑较复杂,请参考quickstart\examples\动态树的例子
    2. TreeParam参数说明:
      reeParam param = new TreeParam();
      param.setTreeId("MENU_ID");//设置节点映射值
      param.setTreeName("MENU_NAME");//设置名称映射值
      param.setTreeGroup("menugrp");//设置树组名,默认为default
      param.setTextAction("alert('$(MENU_ID)')");//设置树文本点击事件,支持映射表达式
      param.setNodeCountName ("MENUNODE_COUNT");//设置节点数映射名,默认为NODE_COUNT
      param.setIconDir ("component/images/tree/");设置图片路径,默认为component/images/tree/
      param.setCheckboxName("menus");//设置checkbox名称
      param.setCheckboxValue("$(MENU_ID)");设置checkbox的值,支持表达式
      param.setCheckedValue("$(MENU_ID) ");设置选中时的值,支持表达式,若设置的值和checkbox设置的值能够相等,checkbox将会选中
      param.setCheckboxAction("alert('$(MENU_ID)')"); 设置checkbox点击事件,支持表达式
      param.setChecked("$(CHECKED_FLAG)");//设置是否选中,为1时选中,0为不选中,注:若设置了该参数,优先级将高于setCheckedValue和setCheckboxValue的匹配选中方式
      param.setDisabled("$(DISABLED_FLAG)");//设置是否禁止,为1时禁止
      说明:表达式表示$(字段名),自动会根据数据形成对应的动态值
  4. 代码片段

    1. 页面代码

      <span
      	jwcid="@wade:LoadTree"
      	root="ognl:root"
      	nodes="ognl:nodes"
      	param="ognl:param"
      	listener="ognl:listeners.loadAreaTree"
      />
      
  5. 效果演示