定义

基本定义

   <tag>
        <name>tree</name>
        <tag-class>com.jxtech.tag.tree.TreeTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
		<dynamic-attributes>true</dynamic-attributes> 
	 </tag>

 

属性说明

namerequiredrtexprvaluedescription
idfalsefalse建议配置,否则将自动生成一个随机数ID
jbonamefalsefalse要显示数据的表名
whereCausefalsefalse此条件只用于第一次加载的条件,异步加载数据,此条件将不在有效。常用于加载根节点和第一级节点。
restrictionsfalsefalse限制条件,每次查询都会添加此条件
treeNodeKeytruefalse必填,树的业务主键字段名
treeNodeParentKeytruefalse必填,树的父节点字段名
treeNodeNametruefalse必填,树节点上显示的内容,字段名;支持简单json:treeNodeName="DESCRIPTION:ASSETNUM,DESCRIPTION"
checkablefalsefalse是否显示checkbox框,默认false
treeUrlfalsefalse异步提交数据的地址,可省略。默认为tree.action
treeNodesfalsefalseJSON的数据内容,可省略
hasChildNamefalsefalse

字段名:判断是否有孩子节点的字段名。

true:全部默认为有孩子节点

false:全部默认为没有孩子节点

空:不填写,将根据查询结果自动判断。

asyncfalsefalse

默认false

false:一次加载完数据。

true:异步加载数据

orderbyfalsefalse树的排序字段
leafDisplayfalsefalse是否显示叶子节点,默认为true(显示),false:不显示
rootfalsetrue自定义根节点描述说明,比如 root="一级进度计划"
relationshipfalsetrue关系名
modefalsetrue树的模式,如果在lookup页面或者search页面要分别指定为LOOKUP或者SEARCH
moreAtrributesfalsetrue在树的json数据对象中返回更多的属性。使用逗号隔开(att1,att2,att3),目前不支持asnyc属性同用。

方法说明

方法描述
zTreeOnClick(event, treeId, treeNode)点击树节点时,执行的自定义事件
zTreeOnClick(event, treeId, treeNode, jbo)点击树几点时,执行自定义事件,并可以调用当前树中选中节点的jbo中的数据
processTreeData(treeData)在生成树之前,对json数据预处理(不可以使用JxUtil.extend,需要直接重名覆盖)

 

示例

示例1

调峰调频基建项目中的概算管理list.jsp

	 	  	<jxui:tree id="tree" jboname="PS_PGC_DESIGN_ESTIMATES" treeNodeKey="ESTIMATES_NUM" 
	 	  		treeNodeParentKey="ESTIMATES_NUM_PRE" treeNodeName="ESTIMATES_NAME" hasChildName="child_flag" 
	 	  		whereCause="(estimates_num_pre='0' or estimates_num_pre='1') AND delete_flag=0 " 
				restrictions="child_flag=1 and delete_flag=0"
	 	  		orderby="estimates_num" async="true" />

示例2

调峰调频基建项目中的二级进度计划secplan.jsp

	 	  	<jxui:tree id="tree" jboname="ps_schedule_task" treeNodeKey="TASK_ID" treeNodeParentKey="PARENT_TASK_ID"
                                    treeNodeName="TASK_NAME" hasChildName="true" async="true" leafDisplay="true" root="一级进度计划" />

效果图如下:

示例3

调峰调频基建项目中的二级进度计划secplan.jsp

	 <script type="text/javascript">
        function zTreeOnClick(event, treeId, treeNode, jbo) {
            //1,ajax 到后台,设置当前的jboset的job
            //2,刷新表格和相关的数据
            debug(jbo); //这里可以调用树控件选中节点的对应的jbo对象
            $("#tree_name").val(jbo.data.TASK_NAME);
            $("#tree_startdate").val(new Date(jbo.data.PLAN_START_DATE));
            $("#tree_enddate").val(new Date(jbo.data.PLAN_FINISH_DATE));
            
        }
    </script>