jsp表格列的合併

script language="JavaScript" type="text/javascript">
//函數說明:合併指定表格(表格id爲_w_table_id)指定列(列數爲_w_table_colnum)的相同文本的相鄰單元格
//參數說明:_w_table_id 爲須要進行合併單元格的表格的id。如在HTMl中指定表格 id="data" ,此參數應爲 #data
//參數說明:_w_table_colnum 爲須要合併單元格的所在列。爲數字,從最左邊第一列爲1開始算起。

function _w_table_rowspan(_w_table_id,_w_table_colnum){
  _w_table_firsttd = "";
  _w_table_currenttd = "";
  _w_table_SpanNum = 0;
  _w_table_Obj = $(_w_table_id + " tr td:nth-child(" + _w_table_colnum + ")");
  _w_table_Obj.each(function(i){
   if(i==0){
    _w_table_firsttd = $(this);
    _w_table_SpanNum = 1;
   }else{
    _w_table_currenttd = $(this);
    if(_w_table_firsttd.text()==_w_table_currenttd.text()){              //這邊注意不是val()屬性,而是text()屬性
     _w_table_SpanNum++;
     _w_table_currenttd.hide(); //remove();
     _w_table_firsttd.attr("rowSpan",_w_table_SpanNum);
    }else{
     _w_table_firsttd = $(this);
     _w_table_SpanNum = 1;
    }
   }
  });
}
javascript

//函數說明:合併指定表格(表格id爲_w_table_id)指定行(行數爲_w_table_rownum)的相同文本的相鄰單元格
//參數說明:_w_table_id 爲須要進行合併單元格的表格id。如在HTMl中指定表格 id="data" ,此參數應爲 #data
//參數說明:_w_table_rownum 爲須要合併單元格的所在行。其參數形式請參考jQuery中nth-child的參數。
//          若是爲數字,則從最左邊第一行爲1開始算起。
//          "even" 表示偶數行
//          "odd" 表示奇數行
//          "3n+1" 表示的行數爲一、四、七、10.......
//參數說明:_w_table_maxcolnum 爲指定行中單元格對應的最大列數,列數大於這個數值的單元格將不進行比較合併。
//          此參數能夠爲空,爲空則指定行的全部單元格要進行比較合併。

function _w_table_colspan(_w_table_id,_w_table_rownum,_w_table_maxcolnum){
  if(_w_table_maxcolnum == void 0){_w_table_maxcolnum=0;}
  _w_table_firsttd = "";
  _w_table_currenttd = "";
  _w_table_SpanNum = 0;
  $(_w_table_id + " tr:nth-child(" + _w_table_rownum + ")").each(function(i){
   _w_table_Obj = $(this).children();
   _w_table_Obj.each(function(i){
    if(i==0){
     _w_table_firsttd = $(this);
     _w_table_SpanNum = 1;
    }else if((_w_table_maxcolnum>0)&&(i>_w_table_maxcolnum)){
     return "";
    }else{
     _w_table_currenttd = $(this);
     if(_w_table_firsttd.text()==_w_table_currenttd.text()){
      _w_table_SpanNum++;
      _w_table_currenttd.hide(); //remove();
      _w_table_firsttd.attr("colSpan",_w_table_SpanNum);
     }else{
      _w_table_firsttd = $(this);
      _w_table_SpanNum = 1;
     }
    }
   });
  });
}
< /script>
java

 

1.下面以實際開發中的例子說明使用:mysql

//這邊要注意的地方是:咱們在遍歷數據庫查 詢出來的數據時,咱們是直接把值賦給在文本框裏面的value屬性,即(value = "<%=map.get("gz_dept")  %>"),但咱們這邊要注意的是:他經過的是td裏面的text屬性,進行合併的,而不是jquery裏面的val()屬性進行合併的,因此咱們這 邊要特別注意,在上面用綠色標出的地方jquery

 

<td align="center" style="backgroundColor: #ccc"><%= map.get("gz_dept") %></td> // 這句關鍵sql

1.首先先從數據庫裏面查詢出相應的數據數據庫

<%
 //查詢數據
 String sql ="select GZ_UNID,GZ_DEPT,GZ_XH,GZ_NAME,GZ_MONTH,GZ_CQGZ,GZ_YBXJ,GZ_QYYL,GZ_QYSY,GZ_QYGS,GZ_QYSYU,GZ_QYYB,GZ_QYGJJ,GZ_QYXJ,GZ_GZBXHJ,GZ_HSKM,GZ_RYXZ from CW_GZ_BASIC t  order by gz_dept";
 JdbcTemplate jdbcTemplate = new JdbcTemplate("proxool");
 List list = null;
 DecimalFormat df = new DecimalFormat();
 df.applyPattern("0,000");  // 將格式應用於格式化器
 double tgzbxhj = 0.0; 
 int totalflag = 0;         //工資保險合計
%>app

 

2.編寫好表格的HTML代碼ide

 <table class="table2" width="760" height="120" border="1" id="spdata">
        <col width="10%"/>
        <col width="4%"/>
        <col width="6%"/>
        <col width="6%"/>
        <col width="6%"/>
        <col width="4%"/>
        <col width="6%"/>
        <col width="6%"/>
        <col width="6%"/>
        <col width="6%"/>
        <col width="6%"/>
        <col width="6%"/>
        <col width="4%"/>
        <col width="4%"/>
        <col width="10%"/>
        <col width="10%"/>
        <tr height='30'>
            <td rowspan=2 align="center"><FONT><FONT COLOR="#000000">部</FONT><BR/><FONT COLOR="#000000">門</FONT></FONT></td>
            <td rowspan=2 align="center"><FONT><FONT COLOR="#000000">序</FONT><BR/><FONT COLOR="#000000">號</FONT></FONT></td>
            <td rowspan=2 align="center"><FONT COLOR="#000000">月份</FONT></td>
            <td rowspan=2 align="center"><FONT COLOR="#000000">姓名</FONT></td>
            <td rowspan=2 align="center"><FONT COLOR="#000000">出勤工資</FONT></td>
            <td align="center"><FONT COLOR="#000000">應補項目</FONT></td>
            <td colspan=7 align="center"><FONT COLOR="#000000">   企業應扣繳</FONT></td>
            <td rowspan=2 align="center"><FONT COLOR="#000000">工資保險合計(J+M+AI)</FONT></td>
            <td rowspan=2 align="center"><FONT COLOR="#000000">覈算科目</FONT></td>
            <td rowspan=2 align="center"><FONT COLOR="#000000">人員性質</FONT></td>
        </tr>
        <tr height='38'>
            <td align="center"><FONT COLOR="#000000">小計</FONT></td>
            <td align="center"><FONT COLOR="#000000">養老(18%)</FONT></td>
            <td align="center"><FONT COLOR="#000000">失業(2%)</FONT></td>
            <td align="center"><FONT COLOR="#000000">工傷(1%)</FONT></td>
            <td align="center"><FONT COLOR="#000000">生育(0.7%)</FONT></td>
            <td align="center"><FONT COLOR="#000000">醫保(7.5%)</FONT></td>
            <td align="center"><FONT COLOR="#000000">公積金(12%)</FONT></td>
            <td align="center"><FONT COLOR="#000000">小計</FONT></td>
        </tr>
        <%
       
        try{
   jdbcTemplate.open();
            list = jdbcTemplate.queryForList(sql);
            System.out.println(list.size());函數

   if(list.size()>0 && list!=null)
   {
    for(int j =0;j<list.size();j++)
      {
           Map map = (Map)list.get(j);
       //獲取出勤工資、應補小計、企業小計
       String tcqgz = (String)map.get("gz_cqgz");
       String tybxj = (String)map.get("gz_ybxj");
       String tqyxj =(String) map.get("gz_qyxj");  
       if(tcqgz==null || tcqgz.equals("")){
       tcqgz = "0.0";
      }
       if(tybxj==null || tybxj.equals("")){
       tybxj = "0.0";
      }
       if(tqyxj==null || tqyxj.equals("")){
       tqyxj = "0.0";
      }
    tgzbxhj = Double.parseDouble(tcqgz) + Double.parseDouble(tybxj) + Double.parseDouble(tqyxj);   
          
         %>
         <tr height='30' id ="gz">
            <td align="center" style="backgroundColor: #ccc"><%= map.get("gz_dept") %></td>
            <td><input type="text" class="inputbox" disabled="disabled"  id="GZ_XH" name="GZ_XH" style="height:30;width:30;border:solid 0px #ccc;padding-left:2px" value="<%= j+1 %>"></td>
            <td><input type="text" class="inputbox" disabled="disabled"  id="GZ_MONTH" name="GZ_MONTH" style="height:30;width:85;border:solid 0px #ccc;padding-left:1px" value="<%= map.get("gz_month") %>"></td>
            <td><input type="text" class="inputbox" disabled="disabled"  id="GZ_NAME" name="GZ_NAME" style="height:30;width:90;border:solid 0px #ccc;padding-left:20px" value="<%= map.get("gz_name") %>"></td>
            <td><input type="text" class="inputbox" disabled="disabled" id="GZ_CQGZ" name="GZ_CQGZ" style="height:30;width:58;border:solid 0px #ccc;padding-left:10px" value="<%= map.get("gz_cqgz") %>"></td>
            <td><input type="text" class="inputbox" disabled="disabled" id="GZ_YBXJ" name="GZ_YBXJ" style="height:30;width:60;border:solid 0px #ccc;padding-left:10px" value="<%= map.get("gz_ybxj") %>"></td>
            <td><input type="text" class="inputbox" disabled="disabled" id="GZ_QYYL" name="GZ_QYYL" style="height:30;width:65;border:solid 0px #ccc;padding-left:10px" value="<%= map.get("gz_qyyl") %>"></td>
            <td><input type="text" class="inputbox" disabled="disabled"  id="GZ_QYSY" name="GZ_QYSY" style="height:30;width:65;border:solid 0px #ccc;padding-left:10px" value="<%= map.get("gz_qysy") %>"></td>
            <td><input type="text" class="inputbox" disabled="disabled"  id="GZ_QYGS" name="GZ_QYGS" style="height:30;width:65;border:solid 0px #ccc;padding-left:10px" value="<%= map.get("gz_qysy") %>"></td>
            <td><input type="text" class="inputbox" disabled="disabled"  id="GZ_QYSYU" name="GZ_QYSYU" style="height:30;width:65;border:solid 0px #ccc;padding-left:10px" value="<%= map.get("gz_qysyu") %>"></td>
            <td><input type="text" class="inputbox" disabled="disabled"  id="GZ_QYYB" name="GZ_QYYB" style="height:30;width:65;border:solid 0px #ccc;padding-left:10px" value="<%= map.get("gz_qyyb") %>"></td>
            <td><input type="text" class="inputbox" disabled="disabled" id="GZ_QYGJJ" name="GZ_QYGJJ" style="height:30;width:65;border:solid 0px #ccc;padding-left:10px" value="<%= map.get("gz_qygjj") %>"></td>
            <td><input type="text" class="inputbox" disabled="disabled"  id="GZ_QYXJ" name="GZ_QYXJ" style="height:30;width:60;border:solid 0px #ccc;padding-left:10px" value="<%= map.get("gz_qyxj") %>"></td>
            <td><input type="text" class="inputbox" disabled="disabled" id="GZ_GZBXHJ" name="GZ_GZBXHJ" style="height:30;width:60;border:solid 0px #ccc;padding-left:10px" value="<%= tgzbxhj %>"></td>
            <td><input type="text" class="inputbox" disabled="disabled" id="GZ_HSKM" name="GZ_HSKM" style="height:30;width:120;border:solid 0px #ccc;" value="<%= map.get("gz_hskm") %>"></td>
            <td><input type="text" class="inputbox" disabled="disabled" id="GZ_RYXZ" name="GZ_RYXZ" style="height:30;width:120;border:solid 0px #ccc;" value="<%= map.get("gz_ryxz") %>"></td>
        </tr>
         <%
        
    }
 } this

 }catch(Exception e)
 {
 jdbcTemplate.rollback();
    e.printStackTrace();
 
 }
 finally{
 jdbcTemplate.close();
 
 }
   
  %>
    </table>

 

3. 在head裏面進行調用上面的合併表格函數便可

//函數說明:合併指定表格(表格id爲_w_table_id)指定列(列數爲_w_table_colnum)的相同文本的相鄰單元格  
//參數說明:_w_table_id 爲須要進行合併單元格的表格的id。   
//參數說明:_w_table_colnum 爲須要合併單元格的所在列。 
function _w_table_rowspan(_w_table_id,_w_table_colnum){  
    _w_table_firsttd = "";    
    _w_table_currenttd = "";  
    _w_table_SpanNum = 0;
     
    _w_table_Obj = $(_w_table_id + " tr td:nth-child(" + _w_table_colnum + ")");
    _w_table_Obj.each(function(i){ 
        if(i==0){ 
            _w_table_firsttd = $(this);
            _w_table_SpanNum = 1; 
        }else{ 
            _w_table_currenttd = $(this);           
            if(_w_table_firsttd.text() ==_w_table_currenttd.text()){ 
                _w_table_SpanNum++; 
                _w_table_currenttd.hide(); //remove(); 
      _w_table_firsttd.attr("rowSpan",_w_table_SpanNum);   
               
            }else{
            
                _w_table_firsttd = $(this);
                _w_table_SpanNum = 1; 
                    
            } 
        } 
    });  

 $(function(){        
        _w_table_rowspan("#spdata",1); 
    }); 

 </script>

 
0
0
相關文章
相關標籤/搜索