treegrid expand and collapse

来源:互联网 发布:mac画流程图 编辑:程序博客网 时间:2024/05/22 03:42
/*列折叠两种情况:1:展开:仅仅展开当前层,onclick触发2:收缩:下层所有节点全部收缩*/function collapse(obj,fieldsStr,pstatus){var cls=$(obj).attr("class");var collapseFields=[];if(fieldsStr!=null && fieldsStr!=undefined && fieldsStr!=""){collapseFields=fieldsStr.split(",");}if(isNotEmpty(pstatus)){subCollapse(pstatus,obj,collapseFields);//按照上层pstatus状态触发下层节点}//当前节点onclickelse{subCollapse(cls,obj,collapseFields);//按照自己当前的状态触发下层节点}}/* 递归收缩和展开 */function subCollapse(cls,obj,collapseFields){//点击“-”,收缩if(cls=="fa-minus-square-o"){for(var i=0;i<collapseFields.length;i++){//递归被收缩元素,挨个收缩,如果被收缩元素下也有收缩列,递归收缩for(var j=0;j<allFields.length;j++){if(allFields[j].field==collapseFields[i]){if(isNotEmpty(allFields[j].isCollapse) && allFields[j].isCollapse>0){var iObj=document.getElementById(allFields[j].field);/* 获取列中的<i>元素 */if(iObj){var icls=$(iObj).attr("class");if(icls=="fa-minus-square-o"){collapse(iObj,allFields[j].collapseFields,"fa-minus-square-o");}break;}}break;}}var options=$("#treedg").treegrid("getColumnOption",collapseFields[i])/***由于列存在权限,有可能被设置折叠的列当前人员没有权限查看,所以不可直接使用,防止出错,要判断列存在(被折叠列,但无该列查看权限,要判断,否则hideColumn出错)*/if(isNotEmpty(options)){$("#treedg").treegrid("hideColumn",collapseFields[i]);}}$(obj).removeClass("fa-minus-square-o");$(obj).addClass("fa-plus-square-o");}//展开,仅仅当前层展开else{for(var i=0;i<collapseFields.length;i++){var options=$("#treedg").treegrid("getColumnOption",collapseFields[i])//列存在(被折叠列,但无该列查看权限,要判断,否则hideColumn出错)if(isNotEmpty(options)){$("#treedg").treegrid("showColumn",collapseFields[i]);}}$(obj).removeClass("fa-plus-square-o");$(obj).addClass("fa-minus-square-o");}}


原创粉丝点击