在easyui框架中,當你須要加載樹形列表的時候,須要用到treeGrid來實現它。框架
在table中ui
須要將class定義爲 class="easyui-treegrid" url
在data-options裏面,設置好url,也就是你要查詢的後臺連接;在給它一個loadFilter事件 loadFilter:questiontype.loadFilter,這時候,在你加載表格的時候,它會執行js裏面的loadFilter方法。 這個方法纔是樹形列表的核心blog
loadFilter : function(data,parent){事件
//data是後臺傳過來的數據 是easyui通用格式 下面包含total(數據總數),rows(數據)io
var rows = data.rows;(獲取全部的數據)table
var datas =[];function
for(var i=0;i<rows.length;i++){class
var obj = rows[i];//獲取當前的數據後臺
obj._parentId = obj.pId; //將獲取的id給_parentId 賦值
data.push(obj);
}
data.rows = datas;
return data;
}
這樣就造成了你須要的樹形表格了,可是他是默認展開的。若是你想默認不展開,只顯示一級分類的話,只須要添加state,而且將state屬性設置爲「closed」就行了
loadFilter : function(data,parent){
//data是後臺傳過來的數據 是easyui通用格式 下面包含total(數據總數),rows(數據)
var rows = data.rows;(獲取全部的數據)
var datas =[];
for(var i=0;i<rows.length;i++){
var obj = rows[i];//獲取當前的數據
obj.state="closed"; //將樹形列表設置爲默認不展開。若是你想展開二級,三級不展開,只須要加判斷就行 判斷rows裏面你的分類level(第幾級分類)
obj._parentId = obj.pId; //將獲取的id給_parentId 賦值
data.push(obj);
}
data.rows = datas;
return data;
}