Lavorare con colonne e righe

Per un maggior controllo su come funzionano le tabelle, imparare a manipolare colonne e righe.

Trova l’indice degli elementi della tabella

Colonne, righe e celle sono gestite accedendo al nodo del documento selezionato dal suo indice. Trovare l’indice di qualsiasi nodo comporta raccogliere tutti i nodi di bambino del tipo di elemento dal nodo genitore, e quindi utilizzare il IndexOf metodo per trovare l’indice del nodo desiderato nella raccolta.

Trova l’indice di una tabella in un documento

A volte potrebbe essere necessario apportare modifiche a una tabella particolare in un documento. Per fare questo, è possibile fare riferimento a una tabella dal suo indice.

Il seguente esempio di codice mostra come recuperare l’indice di una tabella in un documento:

Trovare l’indice di una riga in una tabella

Allo stesso modo, potrebbe essere necessario apportare modifiche a una riga specifica in una tabella selezionata. Per fare questo, è anche possibile fare riferimento a una riga per il suo indice.

Il seguente esempio di codice mostra come recuperare l’indice di una riga in una tabella:

Trovare l’indice di una cella in una riga

Infine, potrebbe essere necessario apportare modifiche a una cella specifica, e si puÃ2 fare questo per indice di cella pure.

Il seguente esempio di codice mostra come recuperare l’indice di una cella in una riga:

Lavorare con colonne

Nel Aspose.Words Document Object Model (DOM), Table nodo è costituito da Row nodi e poi Cell Nodi. Così, nel Document Modello di oggetto Aspose.Words, come nei documenti di Word, non c’è concetto di una colonna.

Per design, le righe di tabella in Microsoft Word e Aspose.Words sono completamente indipendenti, e le proprietà e le operazioni di base sono contenute solo nelle file e nelle celle della tabella. Questo dà alle tabelle la capacità di avere alcuni attributi interessanti:

  • Ogni riga di tabella può avere un numero completamente diverso di celle
  • Verticalmente, le celle di ogni riga possono avere larghezze diverse
  • No. È possibile unire tabelle con diversi formati di riga e numero di celle

work-with-columns-aspose-words-java

Qualsiasi operazione eseguita su colonne sono in realtà “shortcuts” che eseguono l’operazione cambiando collettivamente le celle di riga in modo che sembra che siano applicate alle colonne. Cioè, è possibile eseguire operazioni su colonne semplicemente iterating sopra lo stesso indice della cella della riga della tabella.

Il seguente esempio di codice semplifica tali operazioni dimostrando una classe di facciata che raccoglie le celle che compongono una “colonna” di una tabella:

Il seguente esempio di codice mostra come inserire una colonna vuota in una tabella:

Il seguente esempio di codice mostra come rimuovere una colonna da una tabella in un documento:

Specificare righe come righe di intestazione

È possibile scegliere di ripetere la prima riga nella tabella come intestazione riga solo sulla prima pagina o su ogni pagina se la tabella è divisa in diversi. In Aspose.Words, è possibile ripetere la riga di intestazione in ogni pagina utilizzando HeadingFormat proprieta'.

È inoltre possibile contrassegnare più righe di intestazione se tali righe si trovano uno dopo l’altro all’inizio della tabella. Per fare questo, è necessario applicare il HeadingFormat proprietà a queste righe.

Il seguente esempio di codice mostra come costruire una tabella che include Header Rows che si ripetono sulle pagine successive:

Tenere tabelle e righe da Breaking Across Pages

Ci sono momenti in cui il contenuto di una tabella non dovrebbe essere diviso in pagine. Per esempio, se un titolo è sopra una tabella, il titolo e la tabella devono sempre essere tenuti insieme sulla stessa pagina per preservare l’aspetto corretto.

Ci sono due tecniche separate che sono utili per raggiungere questa funzionalità:

  • No. Allow row break across pages, che viene applicato alle righe di tabella
  • No. Keep with next, che si applica ai paragrafi nelle celle della tabella

Per impostazione predefinita, le proprietà di cui sopra sono disabilitate.

keep-tables-and-rows-from-breaking-across-pages-aspose-words-java

Tenere una riga da Breaking Across Pages

Ciò comporta la limitazione del contenuto all’interno delle celle di una riga dall’essere diviso in una pagina. In Microsoft Word, questo può essere trovato sotto Proprietà della tabella come l’opzione “Consentire la riga per rompere attraverso le pagine”. In Aspose.Words questo si trova sotto RowFormat oggetto di un Row come la proprietà RowFormat.AllowBreakAcrossPages.

keep-rows-from-breaking-across-pages-aspose-words-java

Il seguente esempio di codice mostra come disabilitare le righe di rottura attraverso le pagine per ogni riga in una tabella:

Tenere una tabella da Pagine di rottura

Per impedire alla tabella di dividersi tra le pagine, dobbiamo specificare che vogliamo che i contenuti contenuti contenuti all’interno della tabella rimangano insieme.

Per farlo, Aspose.Words utilizza un metodo, che consente agli utenti di selezionare una tabella e abilitare KeepWithNext parametro a true per ogni paragrafo all’interno delle celle della tabella. L’eccezione è l’ultimo paragrafo della tabella, che dovrebbe essere impostato su false.

keep-tables-from-breaking-across-pages-aspose-words-java

Il seguente esempio di codice mostra come impostare una tabella per stare insieme sulla stessa pagina: