2017-07-31 65 views
0

目前我在考勤报表生成工作,但现在我面对这个问题,我想尽CSS打印属性,但没有对我的作品下面,我使用力ROWSPAN不要在新的页面拆分其他列数据

CSS代码
#printdata h1,h2,h3,h4,h5,h6{ 
text-align: center; 
line-height: 0.1em; 
text-transform: uppercase; 
} 

#printdata p{ 
    font-size: 20px; 
    font-weight: bold; 
    text-align: center; 
    text-transform: uppercase; 
} 

#printdata table { 
    margin-top: 10px; 
    page-break-after:auto; 
    width:100% 
} 

#printdata tr{ 
    page-break-inside: avoid; 
    -webkit-region-break-inside: avoid; 
} 


#printdata td{ 
    page-break-inside:avoid; 
    page-break-after:auto; 
    padding: 16px 0px; 
    font-size: 12pt; 
} 

thead{ 
    display:table-header-group; 
} 

tfoot{ 
    display:table-footer-group; 
} 

这里我的PHP代码,我用行跨度上栏1和2

<tbody> 
     <? 
      if(count($this->employees) > 0) 
      { 
       $x = 0; 
       foreach ($this->employees as $key=>$employee) 
       {  
        ?> 
        <tr> 
         <td rowspan="2"><? echo ++$x; ?></td> 
         <td rowspan="2" align="center"><? echo $employee->ticket_no; ?></td> 
         <td colspan="2"><? echo $employee->employee_name; ?></td> 
         <? 
          for($i=1;$i<=$days_in_month;$i++) 
          { 
           ?> 
           <td align="center"> 
            <? 
             if($employee->in_time[$i] == "" && $employee->out_time[$i] == "" && $employee->minutes_late[$i] == "" && $employee->gate_pass[$i] == "" && $employee->idle_booking[$i] == "" && $employee->minutes_early[$i] == "" && $employee->second_half_cl[$i] == "") 
             { 
              echo $employee->attendance[$i]; 
             } 
             else 
             { 
              echo $employee->in_time[$i]; 
              echo ($employee->out_time[$i] != "" ? $employee->out_time[$i] : ""); 
              //echo ($employee->attendance[$i] != "" ? $employee->attendance[$i] : ""); 
              echo ($employee->minutes_late[$i] != "" ? $employee->minutes_late[$i] : ""); 
              echo ($employee->gate_pass[$i] != "" ? ($employee->minutes_late[$i] != "" ? " + " : "") . $employee->gate_pass[$i] : ""); 
              echo ($employee->idle_booking[$i] != "" ? $employee->idle_booking[$i] : ""); 
              echo ($employee->minutes_early[$i] != "" ? $employee->minutes_early[$i] : ""); 
              echo ($employee->second_half_cl[$i] != "" ? $employee->second_half_cl[$i] : ""); 
              //echo ($this->leaves[$i] != "" ? $employee->second_half_cl[$i] : ""); 
             } 
            ?> 
           </td> 
           <? 
          } 
         ?> 
         <td colspan="2" align="center">A</td> 
         <td align="center">B</td> 
         <td colspan="2" align="center">C</td> 
        </tr> 
        <tr> 
         <td><? echo $employee->section; ?></td> 
         <td><? echo $employee->trade; ?></td> 
         <? 
         for($i=1;$i<=$days_in_month;$i++) 
          { 
           echo "<td align='center'>"; 
           echo $i; 
           echo "</td>"; 
          } 
         ?> 
         <td align="center">1</td> 
         <td align="center">2</td> 
         <td align="center">3</td> 
         <td align="center">4</td> 
         <td align="center">5</td> 
        </tr> 
        <? 
       } 
      } 
     ? 
</tbody> 

这是结果基本上我得到我只是想强制停止劈裂在新页面行跨度将是巨大的是它避免分裂并在新页面

中打印整行

对于下面的图像更好地理解检查和任何帮助将appriciated https://i.stack.imgur.com/tvkF5.png

回答

0

你能看到,如果这个工程?

printdata table { page-break-inside:auto } 
printdata table tr { page-break-inside:avoid; 
        page-break-after:auto } 
+0

感谢评论,但这不起作用我仍然面临同样的问题在第23行我的行分裂:( –