wanglujun0705

有梦想很伟大,没有行动很悲剧

 

2012年1月13日

IE,谷歌,遨游,火狐兼容的万能合并单元格方法

// tb:要合并单元格的表格;stacol:开始合并列;endcol:结束合并列;bool:合并方式(true代表stacol与endcol之间合并;   false代表两边和并);num标记列(防止某些信息因为内容相同而合并。eg,姓名相同而编号不同的两个人)
02 function   uniteTable(tb,stacol,endcol,bool,num)
03 {var end;
04  var   i=0;  
05  var   j=0;  
06  var   rowCount=tb.rows.length;         //  行数  
07  var   colCount=tb.rows[0].cells.length; // 列数  
08  var   obj1=null;  
09  var   obj2=null;  
10  var  n=5;
11  var count=new Array();
12  for   (i=0;i<rowCount;i++){  
13     for   (j=0;j<colCount;j++){  
14         tb.rows[i].cells[j].id="tb__" + i+"_"+j;      
15                               }  
16                             }  
17       //合并标记列,防止某些信息因为内容相同而合并(不需要时,可以不用传值)
18            if(typeof(num)!='undefined'){
19                   obj1=document.getElementById("tb__0_"+(num-1).toString());  
20           for(var t=1;t<rowCount;t++){
21 obj2=document.getElementById("tb__"+t.toString()+"_"+(num-1).toString());                                     
22       if   (obj1.innerHTML==obj2.innerHTML){  
23         obj1.rowSpan++;  
24         obj2.parentNode.removeChild(obj2);  
25         } else{                                       
26       count[t]=n;//当第一个人的名称合并结束时,给count[t]赋值做标记
27 obj1=document.getElementById("tb__"+t.toString()+"_"+(num-1).toString());   }         
28                          }        
30                                    }
31            //如果endcol未定义,代码将最终一列定义为endcol   
32           //  if(typeof(endcol)=='undefined'){end=colCount;}else{end=endcol}    
33         for   (i=0;i<colCount;i++){ 
34           //bool:合并方式,true代表两边合并;false代表中间合并
35                if(bool){if (i+1<stacol||i+1>endcol){ continue;}}
36                else{ if (i+1>stacol&&i+1<endcol){ continue;}  }
37         obj1=document.getElementById("tb__0_"+i.toString());  
38              for(j=1;j<rowCount;j++){  
39   obj2=document.getElementById("tb__"+j.toString()+"_"+i.toString());   
40              if(typeof(count[j])!='undefined'){
41                        if(count[j]!=n){
42              if(obj1.innerHtml==obj2.innerHtml){                           obj1.rowSpan++;  
43                                obj2.parentNode.removeChild(obj2);  }
44      else{  obj1=document.getElementById("tb__"+j.toString()+"_"+i.toString()); }      
45 } else{  obj1=document.getElementById("tb__"+j.toString()+"_"+i.toString()); }  
46 }   
47   else{      if(obj1.innerHTML==obj2.innerHTML){  
48              obj1.rowSpan++;  
49              obj2.parentNode.removeChild(obj2);  
50                      }
51   else{  obj1=document.getElementById("tb__"+j.toString()+"_"+i.toString()); } 
52                               
53                                                         }  
54                                                    }    
55                             }

posted @ 2012-01-13 21:48 张翅傲仙 阅读(1253) | 评论 (2)编辑 收藏

仅列出标题  

导航

统计

常用链接

留言簿

随笔档案

搜索

最新评论