easyui treegrid 懶加載

	$("#treedg").treegrid({
		idField:'ID',
		treeField:'tree_field',
		nowrap:false,
		fitColumns:(totalWidth>$(window).width()?false:true),
		width:$(window).width(),
		height:$(window).height(),
		rowStyler:rowStyler,
		onBeforeExpand:onBeforeExpand,
		onLoadSuccess: function(row,data){
            resetColor();
            /**easyui:datagrid,treegrid 當列數過大且未加載數據的情況下,超長列不顯示,且無滾動條 ,
             * 以下爲簡易解決方案
             * */
            if(data.length==0){
            	$(this).treegrid('append',{parent:"",data:[{KPI_ID:"tempRow",COLOR_NUM:-1}]});//一定要給COLOR_NUM,否則行上會給默認顏色
            		$("tr[datagrid-row-index='0']").css({"visibility":"hidden"});
        	}
            else{
            	$("tr[datagrid-row-index='0']").remove();
            }
            
            /**初始加載,默認全收縮*/
	   loadCount++;
	   if(isColCollapseReport>0 && loadCount==1){
	   setTimeout("collapseAllFields();",500);//等待頁面圖標加載完畢
			}
        }
	});
	function onBeforeExpand(row){
		onExpandRow(reportName,true,row);//是否是部門表
	}
	function onExpandRow(report,isDept,row){
	//已經展開過,無需重新加載
	var childrens=$("#treedg").treegrid("getChildren",row["KPI_ID"]);
	if(childrens!=null&&childrens.length>0){
		return;
	}
	//從未展開過,去加載
	//查詢條件獲取
	var year=$("#comboYear").combotree("getValue");
	var period=$("#comPeriod").combotree("getValue"); 
	var param="periodYear="+year+"&periodType="+period;
	var params={
		report:report,
		periodYear:year,
		periodType:period,
		departId:null,
		parentCode:row["KPI_ID"]
	}
	var url="";
	if(isDept){
		var deptId=$("#comboDepart").combotree("getValue")?$("#comboDepart").combotree("getValue"):"";
		if(deptId==null||deptId==""){
	            $.messager.alert("提示信息","請選擇部門!","info");
		    return;
		}
		params.departId=deptId;
		url='/report/queryDataWithDept.action';
	}
	else{
		url='/report/queryDataWithoutDept.action';
	}
	$.ajax({
		url:contextPath+url,
		type:'post',
		contentType:'application/json;charset=UTF-8',
		dataType:"json",
		data:JSON.stringify(params),
		success:function(res){
			//重新附加孩子節點
			$('#treedg').treegrid('collapse',row["KPI_ID"]).treegrid('append',{
			    parent: row["KPI_ID"],  
			    data:res.dataMap.data
			}).treegrid('expand',row["KPI_ID"]);
		}
	})
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章