Arbeiten mit Säulen und Reihen
Für mehr Kontrolle darüber, wie Tabellen funktionieren, lernen, wie man Spalten und Zeilen manipuliert.
Tabelle Element Index finden
Spalten, Zeilen und Zellen werden verwaltet, indem der ausgewählte Dokumentknoten durch seinen Index aufgerufen wird. Das Finden des Index eines beliebigen Knotens beinhaltet das Sammeln aller Child-Knoten des Elementtyps aus dem Elternknoten und dann die Verwendung des IndexOf Verfahren zum Auffinden des Index des gewünschten Knotens in der Sammlung.
Finden Sie den Index einer Tabelle in einem Dokument
Manchmal müssen Sie Änderungen an einer bestimmten Tabelle in einem Dokument vornehmen. Um dies zu tun, können Sie auf eine Tabelle mit seinem Index.
Das folgende Codebeispiel zeigt, wie man den Index einer Tabelle in einem Dokument abruft:
Suche nach dem Index einer Reihe in einer Tabelle
Ebenso müssen Sie in einer ausgewählten Tabelle Änderungen in einer bestimmten Zeile vornehmen. Um dies zu tun, können Sie sich auch auf eine Zeile mit seinem Index beziehen.
Das folgende Codebeispiel zeigt, wie man den Index einer Zeile in einer Tabelle abruft:
Den Index einer Zelle in einer Row finden
Schließlich müssen Sie möglicherweise Änderungen an einer bestimmten Zelle vornehmen, und Sie können dies auch durch Zellindex tun.
Das folgende Codebeispiel zeigt, wie man den Index einer Zelle in einer Zeile abruft:
Arbeiten mit Säulen
In der Aspose.Words Document Object Model (DOM), Table Knoten besteht aus Row Knoten und dann Cell Knoten. So, in der Document
Objektmodell Aspose.Words, wie in Word-Dokumenten, gibt es kein Konzept einer Spalte.
Durch Design, die Tischzeilen in Microsoft Word und Aspose.Words vollständig unabhängig sind und die Grundeigenschaften und Vorgänge nur in den Zeilen und Zellen der Tabelle enthalten sind. Dies gibt Tabellen die Möglichkeit, einige interessante Attribute zu haben:
- Jede Tischzeile kann eine völlig andere Anzahl von Zellen haben
- Die Zellen jeder Reihe können unterschiedliche Breiten haben
- Ja. Es ist möglich, Tabellen mit verschiedenen Zeilenformaten und Anzahl der Zellen zu verbinden
Alle Operationen, die auf Spalten durchgeführt werden, sind tatsächlich “Kurzschnitte”, die die Operation durch kollektiv wechselnde Zeilenzellen so durchführen, dass es aussieht, als ob sie auf Spalten angewendet werden. Das heißt, Sie können Operationen auf Spalten durchführen, indem Sie einfach über den gleichen Tabellenzeilen-Zellindex iterieren.
Das folgende Codebeispiel vereinfacht diese Operationen, indem eine Fassadenklasse nachgewiesen wird, die die Zellen sammelt, die eine “Säule” einer Tabelle bilden:
Das folgende Codebeispiel zeigt, wie eine leere Spalte in eine Tabelle eingefügt werden kann:
Das folgende Codebeispiel zeigt, wie man eine Spalte aus einer Tabelle in einem Dokument entfernt:
Zeilen als Kopfzeilen angeben
Sie können die erste Zeile in der Tabelle als Header Row nur auf der ersten Seite oder auf jeder Seite wiederholen, wenn die Tabelle in mehrere aufgeteilt wird. In Aspose.Words, Sie können die Header Row auf jeder Seite mit der HeadingFormat Eigentum.
Sie können auch mehrere Headerzeilen markieren, wenn sich solche Zeilen am Anfang der Tabelle hintereinander befinden. Um dies zu tun, müssen Sie die HeadingFormat Eigenschaften zu diesen Zeilen.
Das folgende Codebeispiel zeigt, wie man eine Tabelle erstellt, die Header Rows enthält, die auf folgenden Seiten wiederholen:
Tabellen und Zeilen von Across-Seiten brechen
Es gibt Zeiten, in denen der Inhalt einer Tabelle nicht auf Seiten aufgeteilt werden sollte. Wenn beispielsweise ein Titel über einer Tabelle liegt, sollten Titel und Tisch immer auf der gleichen Seite zusammengehalten werden, um das richtige Aussehen zu erhalten.
Es gibt zwei separate Techniken, die nützlich sind, um diese Funktionalität zu erreichen:
- Ja.
Allow row break across pages
, die auf Tabellenzeilen angewendet wird - Ja.
Keep with next
, die auf die Absätze in Tabellenzellen angewendet wird
Standardmäßig sind die obigen Eigenschaften deaktiviert.
Halten Sie einen Row von Breaking Across-Seiten
Dies beinhaltet die Einschränkung von Inhalten innerhalb der Zellen einer Zeile von der Spaltung über eine Seite. In Microsoft Word, dies kann unter Tabelle Eigenschaften als Option “Zeigen Sie Zeile, um über Seiten zu brechen”. In Aspose.Words dies unter der RowFormat Objekt eines Row als Eigentum RowFormat.AllowBreakAcrossPages.
Das folgende Codebeispiel zeigt, wie man Zeilen über Seiten für jede Zeile in einer Tabelle deaktivieren kann:
Halten Sie einen Tisch von Across-Seiten brechen
Um die Tabelle von der Aufspaltung über Seiten zu stoppen, müssen wir festlegen, dass wir den Inhalt in der Tabelle zusammenhalten möchten.
Um das zu tun, Aspose.Words verwendet ein Verfahren, das es Benutzern ermöglicht, eine Tabelle auszuwählen und die KeepWithNext Parameter zu true für jeden Absatz innerhalb der Tabellenzellen. Die Ausnahme ist der letzte Absatz in der Tabelle, der auf false.
Das folgende Codebeispiel zeigt, wie man eine Tabelle einstellt, um auf derselben Seite zusammen zu bleiben: