extjs tree 前台树不能生成

Deaver_gwp 2018-05-27 12:09:08

var ClassTreeGridStore = Ext.create('Ext.data.TreeStore', {
fields: ["id", "text","node","type", "parentId"],
autoLoad: true,
proxy: {
type: 'ajax',
url: 'dataTree.jsp?action=find',
actionMethods: { read: 'GET' },//参数会post到页面
reader: 'json'
},
root : {
text : 'root',
id : '-1'
},
});
var ClassTreeGrid = Ext.create('Ext.tree.Panel', {
tbar: tbar,
useArrows: true,
store: ClassTreeGridStore,
autoScroll: true,
multiSelect: false,
singleExpand: false,
rootVisible: false,
columns: [{ //定义tree的列
xtype: 'treecolumn',
text: '分类名称', //显示的表头列名称
dataIndex: 'text' //对应store的列字段名称
}]
, listeners: {
//点击行触发事件
itemclick: function (record, node) {
//把列的qcid传递给QuesGridStore刷新对应的grid或tree
ClassTreeGrid.expandAll();
ClassTreeGrid.collapseAll();
}
}
});


public String doPost(JSONArray jArray) throws UnsupportedEncodingException{
StringBuilder jsonStr = new StringBuilder();
String jsonChildren ="";
String jsonData = "";

String jsonTwo = "";
JSONArray arraya=new JSONArray();
for (Integer i = 0; i < jArray.size(); i++ ) {
JSONObject job = jArray.getJSONObject(i);
if (job.getString("parentid").equals("0")){
jsonStr.append("{\"id\":");
jsonStr.append("\"" + job.getString("id") + "\"");
jsonStr.append(",\"text\":");
jsonStr.append("\"" + job.getString("text") + "\"");
jsonStr.append(",\"parentid\":");
jsonStr.append("\"" + job.getString("parentid") + "\"");
jsonStr.append(",\"node\":");
jsonStr.append("\"" + job.getString("node") + "\"");
jsonStr.append(",\"type\":");
jsonStr.append("\"" + job.getString("type") + "\"");
jsonStr.append(",\"leaf\":false");
jsonStr.append(",\"children\":");
jsonStr.append(getChildren(job.getString("id"), jsonChildren, jArray));
jsonStr.append("},");
}
}
jsonTwo = String.valueOf( ("["+jsonStr+"]}").replaceAll(",]", "]"));
jsonData =String.valueOf(jsonTwo).replaceAll("\"leaf\":false,\"children\":\\[\\]", "\"leaf\":true");
System.out.println(jsonData);

return jsonData;
}
private static String getChildren(String id, String str, JSONArray jArray) {
Boolean isFind = Boolean.FALSE;
for (Integer i = 0; i < jArray.size(); i++ ) {
JSONObject job = jArray.getJSONObject(i);
if (id.equals(job.getString("parentid"))) {
str += "[{\"id\":\"" + job.getString("id") +"\",\"text\":\"" +job.getString("text")+"\",\"parentid\":\""+job.getString("parentid")+"\",\"node\":\""+job.getString("node")+"\",\"type\":\""+job.getString("type")+"\",\"leaf\":false,\"children\":[" + getChildren(job.getString("id"), str, jArray) + "]}],";
isFind = Boolean.TRUE;
}
}
if (!isFind) {
return null;
} else {
return str;
}
}

...全文
901 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Deaver_gwp 2018-05-27
  • 打赏
  • 举报
回复
我用的extjs是4.2.1版本,跪求大神垂怜!

87,884

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧