treegrid 实现懒加载

需求:
使用treegrid显示数据,但是不想一下把所有的数据都查出来,treegrid如果想实现懒加载需要有一个state字段来判断是否有子节点,值为open或closed,但是我数据库表没有这个字段啊,总不能为了实现这个功能加个state字段吧,这个不现实,因此只能改造VO和sql语句,虚构一个字段了。

code:
前端代码:

<div class="table_list" style="width:90%;height:100%">
    	<table id="tg"  class="easyui-treegrid" style="width:100%;height:100%"
            data-options="
                url: '/type/getTreeNodes',
                method: 'get',
                idField: 'typeCode',
                treeField: 'name',
                rownumbers: true,
				animate: true,
				collapsible: true,
				fitColumns: true
				
            ">
        <thead>
            <tr>
                <th data-options="field:'name',width:300">名称</th>
				<th data-options="field:'updateTime',width:200">修改时间</th>
				<th data-options="field:'remark',width:500">备注</th>
				<th data-options="field:'opName',width:100">操作人</th>
            </tr>
        </thead>
    </table>
    
    
    </div>

后台代码:
jQueryeasyUI treegrid在访问url时会自动带个id参数,值是idField设置的字段的值。

controller

	@RequestMapping("getTreeNodes")
	@ResponseBody
	public Map<String, Object> getTreeNodes(String id) {
	//使用id接收参数值
	}

mapper.xml中的sql,

select tst.* , u.CHN_NAME,
  		case when
		 (select count(*) from type t2 where t2.parent_id = t1.type_code) > 0 
		 then 
		 'closed'		  			
		 ELSE 'open'
		 end STATE
    from type t1
		LEFT JOIN t_user u
		ON t1.OP_USERID = u.USER_ID
		WHERE t1.PARENT_ID = #{parentId}

猜你喜欢

转载自blog.csdn.net/qq_36085004/article/details/86505073