EXT 生成树型, 但由于平台问题,返回的json数据格式如下所示,所以生成树状结构需要作处理 TABLE_RECID, TABLE_NAME, TABLE_DSC, PARENT_ID,LEAF -1 推送实体树 推送实体树 1 1 清单类 清单类 -1 1 2 清单类 清单类 -1 1 3 清单类 清单类 -1 1 11 TABLE1 测试表1 1 0 22 TABLE2 测试表2 2 0 具体处理代码: var root = new Ext.tree.TreeNode({ id:"root_tree" }); var tree = new Ext.tree.TreePanel({ id : 'left_tree', root : root, rootVisible : false, border :false }); var portalStore = new Ext.data.JsonStore({ url : [com.sunrise.bi.url , '/Grazioso_Control.jsp?Page=Push_Service_PushEntityTable_Init&',(new Date().getTime())].join(''), root : 'XML.result.Data.Row', fields : ['TABLE_RECID', 'TABLE_NAME', 'TABLE_DSC', 'PARENT_ID','LEAF'] }); portalStore.load({ callback : function(rows, options, success) { var map = {}; var size = rows.length; for(var i = 0;i < size; i++) { var tmp = rows[i].data; map[tmp['TABLE_RECID'].trim()] = tmp; } var data = []; size = rows.length; for(var i = 0; i < size; i++) { var tmp = rows[i].data; var parent = map[tmp['PARENT_ID'].trim()]; var child = map[tmp['TABLE_RECID'].trim()]; child.id = child['TABLE_RECID'].trim(); if(child["LEAF"] != 0) { child.leaf = false; child.text = child["TABLE_DSC"]; } else { child.leaf = true; child.text = [child["TABLE_DSC"],'(',child["TABLE_NAME"],')'].join(''); } //child.expanded = true; if(parent == null) { //没有父节点,作为顶节点 data[data.length] = child; continue; } if(parent["children"] == null) parent["children"] = []; parent["children"][parent["children"].length] = child; } var rootNode = tree.getRootNode(); rootNode.appendChild(data); }, scope : this });