jqgrid 静态树

来源:互联网 发布:多合一建站源码 编辑:程序博客网 时间:2024/06/10 08:49
js代码:
var lastsel = 0;jQuery("#list2").jqGrid({            treeGrid: true,            treeGridModel: 'adjacency', //treeGrid模式,跟json元數據有關 ,adjacency/nested            ExpandColumn : 'username',            datatype: 'jsonstring',            colNames:['姓名','id','密碼','年齡','地址','出生日期'],            colModel:[                {name:'username',index:'username', width:110,sorttype:"int",editable: false},                {name:'id',index:'id', width:90,sorttype:"int",hidden:true},                {name:'password',index:'password', width:80,editable: true},                {name:'age',index:'age', width:80,editable: true},                {name:'address',index:'address', width:80,editable: true},                {name:'time',index:'time', width:80,sorttype:"date",editable: true}            ],onSelectRow: function(id){if(id && id!==lastsel){jQuery('#list2').jqGrid('restoreRow',lastsel);jQuery('#list2').jqGrid('editRow',id,true);lastsel=id;}},            pager: "false",scroll: "true",            jsonReader: {                root: "dataRows",                repeatitems : false            },            treeReader : {                level_field: "level",                parent_id_field: "parent",                leaf_field: "isLeaf",                expanded_field: "expanded"            },            caption: "jqGrid 同步树表格",            height: "auto"    // 設为具體數值則會根據實際記錄數出現垂直滾動條            //rowNum : "-1",     // 顯示全部記錄            //shrinkToFit:false  // 控制水平滾動條        });var datas = null;jQuery.doAjax({url: '<%=basePath %>ajax/contract/treeJson.action',callback: function(_data){alert($.toJSONString(_data));datas = _data;}});jQuery("#list2").jqGrid('setGridParam',{datastr:datas}).trigger("reloadGrid");


action代码:

public void treeJson() {JSONObject jo = new JSONObject();Long nodeId = getLongParameter("nodeid");Long level = getLongParameter("n_level");try {JSONArray ja = getData(nodeId, level);jo.put("dataRows", ja);} catch (Exception e) {logger.error("合同查询失败," + e);}super.renderJson(jo);}private JSONArray getData(Long nodeId, Long level) {JSONArray ja = new JSONArray();JSONObject jo = new JSONObject();jo.put("id", "123");jo.put("username", "根节点");jo.put("age", "10");jo.put("password", "123213123");jo.put("address", "beijingshi...");jo.put("level", "0");jo.put("parent", "0");jo.put("isLeaf", false);jo.put("expanded", true);ja.add(jo);JSONObject jo1 = new JSONObject();jo1.put("id", "153");jo1.put("username", "广告部");jo1.put("age", "40");jo1.put("password", "1sdf23213123");jo1.put("address", "keoukel...");jo1.put("level", "1");jo1.put("parent", "123");jo1.put("isLeaf", false);jo1.put("expanded", true);ja.add(jo1);JSONObject jo3 = new JSONObject();jo3.put("id", "173");jo3.put("username", "广告_业务");jo3.put("age", "10");jo3.put("password", "123213123");jo3.put("address", "beijingshi...");jo3.put("level", "2");jo3.put("parent", "153");jo3.put("isLeaf", false);jo3.put("expanded", true);ja.add(jo3);JSONObject jo5 = new JSONObject();jo5.put("id", "193");jo5.put("username", "广告_业务_小马");jo5.put("age", "20");jo5.put("password", "asdfsa");jo5.put("address", "nanjing...");jo5.put("level", "3");jo5.put("parent", "173");jo5.put("isLeaf", true);jo5.put("expanded", false);ja.add(jo5);JSONObject jo2 = new JSONObject();jo2.put("id", "163");jo2.put("username", "无线部");jo2.put("age", "20");jo2.put("password", "asdfsa");jo2.put("address", "nanjing...");jo2.put("level", "1");jo2.put("parent", "123");jo2.put("isLeaf", false);jo2.put("expanded", true);ja.add(jo2);JSONObject jo4 = new JSONObject();jo4.put("id", "183");jo4.put("username", "无线_销售");jo4.put("age", "40");jo4.put("password", "1sdf23213123");jo4.put("address", "keoukel...");jo4.put("level", "2");jo4.put("parent", "163");jo4.put("isLeaf", false);jo4.put("expanded", true);ja.add(jo4);JSONObject jp6 = new JSONObject();jp6.put("id", "203");jp6.put("username", "无线_销售_小刘");jp6.put("age", "60");jp6.put("password", "777asdfsa");jp6.put("address", "shanxisheng...");jp6.put("level", "3");jp6.put("parent", "183");jp6.put("isLeaf", true);jp6.put("expanded", false);ja.add(jp6);return ja;}
:静态加载时json的数据一定是按照树的结构排序出来的。



0 0
原创粉丝点击