Pracuj z kolumnami i wierszami
Aby uzyskać większą kontrolę nad działaniem tabel, dowiedz się, jak manipulować kolumnami i wierszami.
Znajdź indeks elementu tabeli
Kolumnami, wierszami i komórkami zarządza się, uzyskując dostęp do wybranego węzła dokumentu za pomocą jego indeksu. Znalezienie indeksu dowolnego węzła polega na zebraniu wszystkich węzłów potomnych typu elementu z węzła nadrzędnego, a następnie użyciu metody IndexOf w celu znalezienia indeksu żądanego węzła w kolekcji.
Znajdź indeks tabeli w dokumencie
Czasami może być konieczne wprowadzenie zmian w określonej tabeli w dokumencie. Aby to zrobić, możesz odwołać się do tabeli według jej indeksu.
Poniższy przykład kodu pokazuje, jak pobrać indeks tabeli w dokumencie:
Znajdź indeks wiersza w tabeli
Podobnie może być konieczne wprowadzenie zmian w określonym wierszu w wybranej tabeli. Aby to zrobić, możesz również odwołać się do wiersza według jego indeksu.
Poniższy przykład kodu pokazuje, jak pobrać indeks wiersza w tabeli:
Znajdź indeks komórki w wierszu
Na koniec może być konieczne wprowadzenie zmian w określonej komórce i możesz to zrobić również według indeksu komórki.
Poniższy przykład kodu pokazuje, jak pobrać indeks komórki z rzędu:
Pracuj z kolumnami
W modelu obiektowym dokumentu Aspose.Words (DOM) węzeł Table składa się z węzłów Row, a następnie węzłów Cell. Tak więc w modelu obiektowym Document
Aspose.Words, jak w dokumentach Word, nie ma pojęcia kolumny.
Z założenia wiersze tabeli w Microsoft Word i Aspose.Words są całkowicie niezależne, a podstawowe właściwości i operacje są zawarte tylko w wierszach i komórkach tabeli. Daje to tabelom możliwość posiadania interesujących atrybutów:
- Każdy wiersz tabeli może mieć zupełnie inną liczbę komórek
- W pionie komórki każdego rzędu mogą mieć różne szerokości
- Możliwe jest łączenie tabel o różnych formatach wierszy i liczbie komórek
Wszelkie operacje wykonywane na kolumnach są w rzeczywistości “skrótami”, które wykonują operację poprzez zbiorową zmianę komórek wierszy w taki sposób, że wygląda na to, że są stosowane do kolumn. Oznacza to, że możesz wykonywać operacje na kolumnach, po prostu iterując po tym samym indeksie komórek wiersza tabeli.
Poniższy przykład kodu upraszcza takie operacje, udowadniając klasę fasady, która zbiera komórki tworzące “kolumnę” tabeli:
Poniższy przykład kodu pokazuje, jak wstawić pustą kolumnę do tabeli:
Poniższy przykład kodu pokazuje, jak usunąć kolumnę z tabeli w dokumencie:
Określ wiersze jako wiersze nagłówka
Możesz powtórzyć pierwszy wiersz w tabeli jako wiersz nagłówka tylko na pierwszej stronie lub na każdej stronie, jeśli tabela jest podzielona na kilka. W Aspose.Words możesz powtórzyć wiersz nagłówka na każdej stronie za pomocą właściwości HeadingFormat.
Możesz także zaznaczyć wiele wierszy nagłówka, jeśli takie wiersze znajdują się jeden po drugim na początku tabeli. Aby to zrobić, musisz zastosować właściwości HeadingFormat do tych wierszy.
Poniższy przykład kodu pokazuje, jak zbudować tabelę zawierającą wiersze nagłówka powtarzające się na kolejnych stronach:
Zapobiegaj łamaniu tabel i wierszy na stronach
Są chwile, w których zawartość tabeli nie powinna być dzielona na strony. Na przykład, jeśli tytuł znajduje się nad tabelą, tytuł i tabela powinny być zawsze przechowywane razem na tej samej stronie, aby zachować odpowiedni wygląd.
Istnieją dwie oddzielne techniki, które są przydatne do osiągnięcia tej funkcjonalności:
Allow row break across pages
, który jest stosowany do wierszy tabeliKeep with next
, który jest stosowany do akapitów w komórkach tabeli
Domyślnie powyższe właściwości są wyłączone.
Nie przerywaj wiersza na stronach
Polega to na ograniczeniu zawartości wewnątrz komórek wiersza przed podziałem na stronę. W Microsoft Word można to znaleźć w sekcji Właściwości tabeli jako opcję “Zezwalaj wierszowi na dzielenie stron”. W Aspose.Words to znajduje się pod RowFormat obiekt a Row jako właściwość RowFormat.AllowBreakAcrossPages.
Poniższy przykład kodu pokazuje, jak wyłączyć dzielenie wierszy na stronach dla każdego wiersza w tabeli:
Nie przerywaj tabeli na stronach
Aby zatrzymać podział tabeli na strony, musimy określić, że chcemy, aby zawartość zawarta w tabeli pozostała razem.
Aby to zrobić, Aspose.Words używa metody, która pozwala użytkownikom wybrać tabelę i włączyć parametr KeepWithNext do wartości true dla każdego akapitu w komórkach tabeli. Wyjątkiem jest ostatni akapit w tabeli, który powinien być ustawiony na false.
Poniższy przykład kodu pokazuje, jak ustawić tabelę, aby pozostać razem na tej samej stronie: