easyui官網給的treegrid的分頁是相當的復雜,我們來簡化一下!
首先treegrid 分頁和 datagrid一樣需要設置一系列參數!
如下:
depTreeGrid=$("#dep_tree_grid").treegrid({
nowrap: true,
fit : true,
border : false,
method:'GET',
rownumbers: true,//顯示行號
collapsible:true,//定義面板是否可以折疊
loadMsg:"正在加載信息請稍候...",
animate:true,
url:ctxPath+"/sys/deps",
idField:'id', //數據表格要有主鍵
treeField:'depName', //treegrid 樹形結構主鍵 text
fitColumns:true ,//表格自動適應
striped:true,//隔行變色,
pagination:true,//底部顯示工具欄組件
pageSize:1,
pageList:[1,20,30,40,50],//每頁顯示數
sortName:'depSort',
sortOrder:'asc',
columns:[[
{field:'depName',title:'部門名稱',width:200} ,
{field:'remark',title:'部門描述路徑',width:120} ,
{field:'depSort',title:'部門排序',width:120,sortable:true} ,
{field:'createTime',title:'創建時間',width:120} ,
]],
onLoadSuccess:function(data){ delete $(this).treegrid('options').queryParams['id']; },
onContextMenu: function(e,row){
e.preventDefault(); //屏蔽瀏覽器的菜單
$(this).treegrid('unselectAll'); //清除所有選中項
$(this).treegrid('select', row.id); //選中狀態
$('#dep').menu('show', {
left: e.pageX,
top: e.pageY
});
},
toolbar: "#dep_tb",
});
});
翻頁返回的格式是
{"total":28,"rows":[
{"productid":"FI-SW-01","productname":"Koi","unitcost":10.00,"status":"P","listprice":36.50,"attr1":"Large","itemid":"EST-1"},
{"productid":"K9-DL-01","productname":"Dalmation","unitcost":12.00,"status":"P","listprice":18.50,"attr1":"Spotted Adult Female","itemid":"EST-10"},
{"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":38.50,"attr1":"Venomless","itemid":"EST-11"},
{"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":26.50,"attr1":"Rattleless","itemid":"EST-12"},
{"productid":"RP-LI-02","productname":"Iguana","unitcost":12.00,"status":"P","listprice":35.50,"attr1":"Green Adult","itemid":"EST-13"},
{"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":158.50,"attr1":"Tailless","itemid":"EST-14"},
{"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":83.50,"attr1":"With tail","itemid":"EST-15"},
{"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":23.50,"attr1":"Adult Female","itemid":"EST-16"},
{"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":89.50,"attr1":"Adult Male","itemid":"EST-17"},
{"productid":"AV-CB-01","productname":"Amazon Parrot","unitcost":92.00,"status":"P","listprice":63.50,"attr1":"Adult Male","itemid":"EST-18"}
]}
點擊tree請求返回的數據是
[
{"productid":"FI-SW-01","productname":"Koi","unitcost":10.00,"status":"P","listprice":36.50,"attr1":"Large","itemid":"EST-1"},
{"productid":"K9-DL-01","productname":"Dalmation","unitcost":12.00,"status":"P","listprice":18.50,"attr1":"Spotted Adult Female","itemid":"EST-10"},
{"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":38.50,"attr1":"Venomless","itemid":"EST-11"},
{"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":26.50,"attr1":"Rattleless","itemid":"EST-12"},
{"productid":"RP-LI-02","productname":"Iguana","unitcost":12.00,"status":"P","listprice":35.50,"attr1":"Green Adult","itemid":"EST-13"},
{"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":158.50,"attr1":"Tailless","itemid":"EST-14"},
{"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":83.50,"attr1":"With tail","itemid":"EST-15"},
{"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":23.50,"attr1":"Adult Female","itemid":"EST-16"},
{"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":89.50,"attr1":"Adult Male","itemid":"EST-17"},
{"productid":"AV-CB-01","productname":"Amazon Parrot","unitcost":92.00,"status":"P","listprice":63.50,"attr1":"Adult Male","itemid":"EST-18"}
]
在點擊 treegrid 會傳一個id,所以在后端處理的時候,根據id來做處理
@GetMapping @ResponseBody public Object list(int page,int rows,String sort,String order, @RequestParam Map<String,Object> params,@RequestParam(defaultValue="0") String id ){ if("0".equals(id)){ PageInfo pageInfo = new PageInfo(page,rows, sort, order); params.put("id", id); pageInfo.setCondition(params); return sysDepartmentService.selectList(pageInfo); }else{ return sysDepartmentService.selectList(id); } }
但是點完treegrid之后,再翻頁,easyui會將id再傳過去,所以我們需要在
onLoadSuccess:function(data){
delete $(this).treegrid('options').queryParams['id'];
},
這樣就可以完成treegrid分頁操作!