Autor Zpráva
Darth-Cz-
Profil *
Dobrý den,

chtěl bych se zeptat, zda nevíte, jestli by šlo, aby se tabulky s daty při tisku nezalamovaly. Je totiž blbé, když na konci stránky při tisku mám jen hlavičku tabulky a na další straně mi pokračují data. Stránka se skládá z mnoha menších tabulek.

Potřeboval bych něco, aby se při tisku poznalo, že když se nevejde na stránku tabulka celá, aby se stránka zalomila a tabulka se tiskla na další straně.

Za odpověď děkuji
Kajman_
Profil *
Zkoušel jste něco takového v tiskovém stylu?
table thead, table thead tr {page-break-after:avoid}
Darth-Cz-
Profil *
Kajman:
ano, bohužel to s ničím ani nehlo :(
Kajman_
Profil *
Máte živou ukázku?
Darth-Cz-
Profil *
Kajman:
Bohužel. Je to interní firemní systém a běží na intranetu.

Nicméně tabulky se skládají z tohoto opakujícího se kódu (hodnoty i nadpisy byly pozměněny):


<table class="tab-celkova">
<tr>
    <th width="15%">Firma</th>
    <th width="20%">Web</th>
    <th width="25%">Klíčové slovo</th>
    <th width="10%">strana</th>

    <th width="10%">pozice</th>
    <th width="10%">strana</th>
    <th width="10%">pozice</th>
</tr>

<tr>
    <td rowspan="4" valign="top" style="border: none;" class="firm">firma</td>
    <td rowspan="4" valign="top" style="border: none;" class="web">web</td>
</tr>
<tr>
    <td>testik</td>

    <td class="grey-arrow">*</td>
    <td class="grey-arrow">*</td>
    <td class="grey-arrow">*</td>
    <td class="grey-arrow">*</td>
</tr> 
<tr>
    <td>test1</td>

    <td class="grey-arrow">*</td>
    <td class="grey-arrow">*</td>
    <td class="grey-arrow">*</td>
    <td class="grey-arrow">*</td>
</tr> 
<tr>
    <td>test</td>

    <td class="grey-arrow">*</td>
    <td class="grey-arrow">*</td>
    <td class="grey-arrow">*</td>
    <td class="grey-arrow">*</td>  

</tr> 
</table>

Darth-Cz-
Profil *
A chtěl bych aby každá tabulka byla vždy celistvá a nerozdělená.
__construct
Profil
Darth-Cz-:
Bohužel. Je to interní firemní systém a běží na intranetu.
Živá ukážka je niečo iné.

Ďalšia podstatná informácia - v akom webovom prehliadači?
Darth-Cz-
Profil *
aha, je tedy potřeba dodat ještě něco? Prohlížeč - pokud možno všechny, ale nejléme firefox.

Zde zasílám ještě css vztahující se k tabulce:

table.tab-celkova{
    	margin: 0 auto;
	width: 100%;
	font-size: 11px;
	min-width: 750px;
	height: auto;
	page-break-after:avoid;
	
}

   
.tab-celkova tr th {

  font-size: 10px;
	color: #656565;
	padding: 5px;
	border: 1px solid #cfcfcf;
	background: #dedede;
	-moz-border-radius: 3px;
	border-radius: 3px;  
       page-break-after:avoid;
}
.tab-celkova tr td {

	padding: 5px;
	border: 1px solid #bababa;
	-moz-border-radius: 3px;
	border-radius: 3px;   
        page-break-after:avoid;
}
Darth-Cz-
Profil *
Ten page-break-after:avoid; jsem zkoušel v různých kombinacích, ale nějak nevyšla žádná :(
Kajman_
Profil *
page-break-after:avoid by mělo být spíše u řádků ne u buněk.

U celé tabulky má smysl spíše nastavit page-break-inside:avoid
Plaváček
Profil
Darth-Cz-:

Obávám se, že podpora mezi prohlížeči je nevalná (viz http://reference.sitepoint.com/css/page-break-after) a domnívám se, že současnými prostředky CSS rozumného výsledku nedosáhneš. Nejlepším řešením v tvé situaci bude využít možností PHP a tiskové sestavy generovat do PDF.
Darth-Cz-
Profil *
Kajman:
ani když jsem dal page-break-inside:avoid do table.tab-celkova, tak se tabulky nevykreslí správně :(

Nicméně v opeře se tabulky vykreslují správně i bez jakéhokoli page-breaku. Nicméně tam zas nejde pozadí, rámečky a další věci :(
Darth-Cz-
Profil *
Plaváček:
To je zrovna informace, které jsem se obával :)
Darth-Cz-
Profil *
Tak jsem to obešel. Při vytahování obsahu jsem si zjistil kolik má každá tabulka řádků, vynásobil to předpokládanou velikostí řádku a vykresluji vždy div jen do určité velikosti. Při překročení velikosti vykresluji tabulky do nového divu. V css pak pro třídu toho divu používám page-break-after: always; tento asi jediný parametr funguje :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: