easy-ui

来源:互联网 发布:java验证码代码怎么写 编辑:程序博客网 时间:2024/04/29 15:37
 

easyui datagrid 隐藏

分类: Web 4252人阅读 评论(4) 收藏 举报
easyuidatagrid 隐藏

easyui datagrid 隐藏列

1、隐藏前图


2、隐藏后图



3、代码1

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. $("#corp-grid").datagrid({  
  2.         title:"泥头车企业管理",  
  3.         toolbar:"#corp-grid-toolbar",  
  4.         border:false,  
  5.         fit:true,  
  6.         width:$(window).width()-252,  
  7.         columns:[[  
  8.                     {field:"ckb",checkbox:true},  
  9.                     {field:"corpName",title:"企业名称",width:200,halign:"center",align:"center",resizable:true},  
  10.                     {field:"linkedCorpName",title:"挂靠深圳企业名称",width:200,halign:"center",align:"center",resizable:true},  
  11.                     {field:"corpType",title:"企业类型",width:80,align:"center",resizable:false},  
  12.                     {field:"businessScope",title:"经营范围",width:80,align:"center",resizable:false},  
  13.                     {field:"effectiveDate",title:"有效日期",width:80,align:"center",resizable:false},  
  14.                     {field:"opePeriod",title:"营业期限",width:80,align:"center",resizable:false},  
  15.                     {field:"ifLocal",title:"是否本地",width:80,align:"center",resizable:false},  
  16.                     {field:"state",title:"有效状态",width:80,align:"center",resizable:false}  
  17.                 ]],  
  18.         //striped:true,  
  19.         fitColumns:true,  
  20.         //autoRowHeight:true,  
  21.         rownumbers:false,  
  22.         singleSelect:false,  
  23.         ctrlSelect:true,  
  24.         pagination:true,  
  25.         pageSize:10,  
  26.         pageList:[5,10,15,20,25,30],  
  27.         sortName:"corpId",  
  28.         sortOrder:"desc",  
  29.         url:"corp_getInfoList.action",  
  30.         method:"post",  
  31.         loadMsg:"加载数据中,请稍后",  
  32.         onDblClickRow:function(rowIndex, rowData){  
  33.             openDialog({  
  34.                 type:"view",  
  35.                 title:"泥头车企业信息查看",  
  36.                 width:800,  
  37.                 height:400,  
  38.                 maximizable:true,  
  39.                 href:"BaseInfo/Corp/CorpInfoView.html"  
  40.             });  
  41.         },  
  42.         onRowContextMenu:function(e, rowIndex, rowData){  
  43.             e.preventDefault();  
  44.               
  45.             $(this).datagrid("unselectAll");  
  46.               
  47.             $(this).datagrid("selectRow", rowIndex);  
  48.               
  49.             $("#corp-menu").menu("show",{  
  50.                 left:event.pageX,  
  51.                 top:event.pageY  
  52.             });  
  53.         }  
  54.     }).datagrid("columnHiding");  

4、代码2

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. $.extend($.fn.datagrid.methods,{  
  2.     columnHiding:function(jq){  
  3.         return jq.each(function(){  
  4.             var grid = this;  
  5.               
  6.             var variable = 2;  
  7.               
  8.             var tds = $(grid).datagrid("getPanel").find(".datagrid-header td[field]:not(td[field='ckb'])");  
  9.               
  10.             var downDiv = null;  
  11.               
  12.             if($(".dg-hide-div").length == 0){  
  13.                 downDiv = $("<div></div>");  
  14.                 downDiv.addClass("dg-hide-div");  
  15.                 downDiv.hide();  
  16.                   
  17.                 $("body").append(downDiv);  
  18.             }else{  
  19.                 downDiv = $(".dg-hide-div");  
  20.             }  
  21.               
  22.             downDiv.click(function(){  
  23.                 tbDiv.show();  
  24.             }).mouseout(function(){  
  25.                 var tbVisible = tbDiv.is(":visible");  
  26.                   
  27.                 if(!tbVisible){  
  28.                     $(this).hide();  
  29.                 }  
  30.             });  
  31.               
  32.             var tbDiv = null;  
  33.               
  34.             if($(".dg-hide-tb").length == 0){  
  35.                 tbDiv = $("<div><table></table></div>");  
  36.                 tbDiv.addClass("dg-hide-tb");  
  37.                 tbDiv.hide();  
  38.                   
  39.                 $("body").append(tbDiv);  
  40.             }else{  
  41.                 tbDiv = $(".dg-hide-tb");  
  42.                 tbDiv.children("table").children().remove();  
  43.             }  
  44.               
  45.             var trs = "";  
  46.               
  47.             var columns = ($(grid).datagrid("options").columns)[0];  
  48.               
  49.             $.each(columns,function(index, obj){  
  50.                 if(index > 0){  
  51.                     trs += "<tr>";  
  52.                       
  53.                     trs += "<td><input type='checkbox' checked='checked'></td><td id=" + obj.field + ">" + obj.title + "</td>";  
  54.                       
  55.                     trs += "</tr>";  
  56.                 }  
  57.             });  
  58.               
  59.             tbDiv.children().append($(trs));  
  60.               
  61.             tbDiv.mouseout(function(e){  
  62.                 var minX = $(this).offset().left;  
  63.                   
  64.                 var curMouseX = e.pageX;  
  65.                   
  66.                 var maxX = $(this).offset().left + $(this).width();  
  67.                   
  68.                 var minY = $(this).offset().top;  
  69.                   
  70.                 var curMouseY = e.pageY;  
  71.                   
  72.                 var maxY = $(this).offset().top + $(this).height();  
  73.                   
  74.                 var ifOverThis = (curMouseX >= minX && curMouseX < maxX)   
  75.                                     && (curMouseY >= minY && curMouseY <= maxY);  
  76.                   
  77.                 if(!ifOverThis){  
  78.                     downDiv.hide();  
  79.                     $(this).hide();  
  80.                 }  
  81.             });  
  82.               
  83.             tbDiv.children().find("input[type='checkbox']").click(function(){  
  84.                 var checked = $(this).is(":checked");  
  85.                   
  86.                 var visibleTds = $(grid).datagrid("getPanel")  
  87.                                         .find(".datagrid-header td[field]:visible").length - 1;  
  88.   
  89.                 if(1 == visibleTds && !checked){  
  90.                     return false;  
  91.                 }  
  92.                   
  93.                 var field = $(this).parent().next().attr("id");  
  94.                   
  95.                 if(checked){  
  96.                     $(grid).datagrid("showColumn", field);  
  97.                 }else{  
  98.                     $(grid).datagrid("hideColumn", field);  
  99.                 }  
  100.             });  
  101.               
  102.             tds.mouseover(function(){  
  103.                 tbDiv.hide();  
  104.                   
  105.                 var thisOffset = $(this).offset();  
  106.                   
  107.                 var height = $(this).height();  
  108.                   
  109.                 var left = null;  
  110.                   
  111.                 var visibleTds =  $(this).parent().children(":visible");  
  112.                   
  113.                 var lastTd = visibleTds[visibleTds.length - 1];  
  114.                   
  115.                 if($(this).index() == $(lastTd).index()){  
  116.                     left = thisOffset.left + variable;  
  117.                 }else{  
  118.                     left = thisOffset.left + $(this).width() - downDiv.width() - variable;  
  119.                 }  
  120.                   
  121.                 var top = thisOffset.top;  
  122.                   
  123.                 downDiv.css({height:height, left:left, top:top});  
  124.                 tbDiv.css({left:left,top:top+height+1});  
  125.                   
  126.                 downDiv.show();  
  127.             }).mouseout(function(e){  
  128.                   
  129.                 var minY = $(this).offset().top;  
  130.                   
  131.                 var curMouseY = e.pageY;  
  132.                   
  133.                 var maxY = $(this).offset().top + $(this).height();  
  134.                   
  135.                 var minX = null;  
  136.                   
  137.                 var curMouseX = e.pageX;  
  138.                   
  139.                 var maxX = null;  
  140.                   
  141.                 var visibleTds =  $(this).parent().children(":visible");  
  142.                   
  143.                 var lastTd = visibleTds[visibleTds.length - 1];  
  144.                   
  145.                 if($(this).index() == $(lastTd).index()){  
  146.                     minX = $(this).offset().left + variable;  
  147.                     maxX = $(this).offset().left + downDiv.width() + variable;  
  148.                 }else{  
  149.                     minX = $(this).offset().left + $(this).width() - downDiv.width() - variable;  
  150.                     maxX = $(this).next().offset().left - variable;  
  151.                 }  
  152.                   
  153.                 var ifOverThis = (curMouseX >= minX && curMouseX <= maxX)   
  154.                                     && (curMouseY >= minY && curMouseY <= maxY);  
  155.                   
  156.                 if(!ifOverThis){  
  157.                     downDiv.hide();  
  158.                 }  
  159.             });  
  160.               
  161.         });  
  162.     }  
  163. });  
0 0