# Seitenumbruch innerhalb einer Tabelle



## BettyNetty (28. Februar 2006)

Hallo ,

ich habe eine Tabelle die unterschiedliche Anzahl von Tabellenzeilen haben kann.
Die Tabelle passt nicht auf eine DINA4 Seite, so dass beim Drucken es vorkommen kann das eine Ziele unterbrochen und auf der nächsten Seite weitergeführt wird. 
Nun hätte ich es gerne, dass die Zeile nicht unterbrochen, sondern als ganzes auf die nächste Seite kommt. Super wäre noch wenn die Titelleiste auf der nächsten Seite auch wieder erscheint.
Was kann ich tun?


----------



## Maik (28. Februar 2006)

Empfehle dir hierfür das Kapitel SELFHTML: Stylesheets / CSS-Eigenschaften / Layouts für Printmedien.


----------



## BettyNetty (28. Februar 2006)

Danke für den Hinweis, leider funktioniert dies nicht.

Hier mal mein Code:


```
<html>
<head>
<link rel="stylesheet" type="text/css" href="//localhost/StudienorganisationsDB/Formate.css">
<style type="text/css"> @page {size:landscape;}</style>
</head>
<body>
<div class="Schrift">Studienliste</div><br>

<?php

	include("/apachefriends/xampp/htdocs/StudienorganisationsDB/dbaccess.php");

	echo '<table width="100%" rules="all" style="border-collapse:collapse" bordercolor="#000000" >';
  	echo '<tr class="Ausdruck" align="left"><th>ID</th><th>Titel</th><th>Kurztitel</th><th>Sponsor</th><th>EudractNr</th><th>StudienNr</th><th>ZentrNr</th></tr>';

	$sql="Select * From studie, sponsor Where studie.SponsorID = sponsor.SponsorID Order By StudienID ASC" ;
	$result=mysql_Query($sql);

	while($row=mysql_fetch_array($result))
			{
                $studid=$row[StudienID];
				echo '<tr class="Ausdruck" valign="top" ><td>'.$row[StudienID].'</td><td>'.$row[Titel].'</td><td>'.$row[Kurztitel].'</td><td>'.$row[Sponsorname].'</td><td>'.$row[EudractNr].'</td><td>'.$row[StudienNr].'</td><td>'.$row[ZentrumNr].'</td>';
			}

  	echo '<tr class="Ausdruck" height="18"><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>';
	echo '</table>';


?>

</body>

</html>
```


----------



## Maik (28. Februar 2006)

Dann lese bitte folgenden Hinweis auf SELFHTML:



> Diese Eigenschaft (*size*) wird (wegen mangelnder Implementierung) in CSS 2.1 voraussichtlich nicht mehr enthalten sein.
> 
> Quelle: http://de.selfhtml.org/css/eigenschaften/printlayouts.htm#size


Zudem solltest du es mit page-break-before, page-break-after oder page-break-inside versuchen


----------



## BettyNetty (28. Februar 2006)

Habe ich versucht mit page-break-inside usw., dann aber zeigt er mir die Seite nicht mehr an. 
Jedenfalls funktioniert es nicht.
An welcher Stelle würdes Du es einbauen?


----------



## Gumbo (28. Februar 2006)

Das CSS-Print-Profil wird derzeit von nur wenigen Browsern (siehe Übersichtstabelle) unterstützt. Daher wird es wohl nicht funktionieren.


----------



## robbyfliwatuet (8. März 2006)

Hallo BettyNetty,

versuch es mal mit folgendem im css-teil:

*@media print{thead{display:table-header-group;}}*

hiermit wird jeder table-header falls die Tabelle nicht mehr auf die Seite passt auf der nächsten Seite wiederholt

dabei solltest Du die Überschriften jedoch einbetten in *<thead>...</thead>*

Zur Unterscheidung von anderen table-headern, ggfs. class definieren:

*@media print{thead.pagehead{display:table-header-group;}}*

*<thead class='pagehead'>...</thead>*

Dies funktioniert natürlich auch mit <tr>-Tag, wenn die Tabellenüberschrift nur einzeilig ist.

Funktioniert bei Firefox in nur einer Ebene, beim IExplorer jedoch auch verschachelt.

Gruss, robbyfliwatuet


----------

