2017-07-31 1 views
0

Actuellement je travaille sur la génération de rapports de présence, mais maintenant je fais face à ce problème que je tente chaque propriété d'impression css, mais rien ne fonctionne pour moi sous le code css que j'utilisela force rowspan ne pas diviser d'autres données de colonne dans une autre page

#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; 
} 

Voici mon code php où j'utilise rowspan sur la colonne 1 et 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> 

Ceci est le résultat essentiellement que je reçois je veux juste arrêter avec force spliting rowspan dans la nouvelle page, il serait grand est son éviter scission et imprimez la ligne entière dans la nouvelle page

Pour une meilleure vérification de la compréhension image ci-dessous et toute aide serait appriciated https://i.stack.imgur.com/tvkF5.png

Répondre

0

Pouvez-vous voir si cela fonctionne?

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

Merci d'avoir commenté mais cela ne fonctionne pas, je suis toujours confronté au même problème sur la rangée 23 ma ligne split :( –