2012-05-15 13 views
5

Ho una tabella relativamente lunga. Ogni record ha sei righe. Quindi un elemento con un identificatore di 16 ha <tr-16-1><tr-16-2>.....<tr-16-6>, identificatore 25 sarebbe <tr-25-1><tr-25-2>.....<tr-25-6>, ecc.Raggruppamento di righe di tabella e interruzioni di pagina

Vorrei che le interruzioni di pagina non dividessero alcun raggruppamento delle sei righe. Quindi, se <tr-25-6> continui su una nuova pagina, vorrei che tutti gli <tr-25's> interrompessero.

Posso facilmente associare una classe a tutte e sei le righe se ciò fosse di aiuto. Qualcuno può per favore indicarmi la giusta direzione su come farlo? Grazie mille per il vostro aiuto.

+0

quando diciamo _ su una nuova pagina_ stai parlando delle regole di stampa? – fcalderan

+0

esattamente - grazie. –

risposta

5

Una possibilità è che raggruppa tutte le righe che si riferiscono alla stessa scheda all'interno di un singolo tbody, in modo da avere più tbody ognuno contenente 6 righe (it's perfectly fine e sembra essere logico come un gruppo atomico), quindi aggiungere questo regola per la stampa

@media print { 
    tbody { 
     page-break-inside: avoid; 
    } 
} 

In questo modo verrà evitata un'interruzione di pagina all'interno di un tbody.
Purtroppo page-break-inside è supportato su tutti i browser moderno except Firefox (Bug #132035)

+1

Ho appena provato un po '- ha avvolto tutti i gruppi di tr nelle loro etichette di t-shirt ma, sfortunatamente, non ha risolto il problema. Ho provato sia in Chrome che in IE. –

+0

potresti pubblicare un esempio di violino con alcuni dati e aggiornare la tua domanda? Proverò a indagare ulteriormente – fcalderan

+1

Grazie mille. Ho pubblicato un esempio su http://jsfiddle.net/wKvuP/. Potrebbe essere necessario ripetere i dati per creare informazioni sufficienti per un'interruzione di pagina. Grazie ancora per il vostro aiuto. –

1

Vorrei dare a questo un colpo:

@media print { 
    tr, td, th { page-break-inside:avoid } 
} 
1

Se non si desidera utilizzare il tag @media, questo è un altro modo :

Aggiungi class=print-entire al vostro tavolo, e aggiungere questo stile:

table.print-entire tr td, table.print-entire tr th { 
     page-break-inside: avoid; 
    } 
Problemi correlati