jquery miniUI treegrid 动态加载

jquery miniUi treeGrid 树动态加载问题,这里需要前台和后台交互

<div id="treegrid1" class="mini-treegrid" style="width:100%;height:480px;"    
    url="district-districtlist.htm" showTreeIcon="true"
    treeColumn="taskname" idField="district_id" parentField="parent_id" resultAsTree="false"
    showCheckBox="true" checkRecursive="false">
     <div property="columns">
         <div type="indexcolumn"></div>
          <div name="taskname" field="district_name"  headeralign="center"
     allowSort="true">
     菜单名称
    </div>
          <div  field="district_id"  headeralign="center"
     allowSort="true">
     地区编号
    </div>
    <div field="parent_id"  headeralign="center"
     allowSort="true" >
     父地区编号
    </div>
    
    <div field="icon"  headeralign="center"
     allowSort="true">
     菜单图标
    </div>
     </div>
     </div>

    url="district-districtlist.htm"  调用java 的查询方法(根据不同的语言而定)

后台的java的部分代码

 District district = new District();
    
     if(district_id == null)
      district.setParent_id("0");
     else
      district.setParent_id(district_id);
    
    
    int count =  districtService.getDistrictCountByDistrict(district);
     
   
  List<Map<String,Object>> res =new ArrayList<Map<String,Object>>();
  
  if(count>0){

 List<District> districts =  districtService.getDistrictDistrictByDistrict(district);
   for(District  d : districts){
    Map<String,Object> r = new HashMap<String,Object>();
    r.put("district_id", d.getDistrict_id());
    r.put("district_name", d.getDistrict_name());
    r.put("parent_id", d.getParent_id());
    r.put("isLeaf", false);
    r.put("expanded", false);
    res.add(r);
   }
   
  }

  jsonData = PluSoft.Utils.JSON.Encode(res);
  return SUCCESS;

根据传入的district_id 是否为null判断是否为第一的加载,null第一次加载,设置默认值0,根节点。

mini UI会在你点击展开的时候,传入自己的idField的值,这里需要接受,本人用的是struts2接收的。

 int count =  districtService.getDistrictCountByDistrict(district);
判断时候还有下节点如果该节点下有下节节点,那么,就循环遍历加载

没有节点,就返回一个空的结果集给前段

相关推荐