Làm việc với cột và hàng

Để kiểm soát nhiều hơn cách hoạt động của bảng, hãy tìm hiểu cách thao tác với cột và hàng.

Tìm chỉ mục thành phần bảng

Cột, hàng và ô được quản lý bằng cách truy cập vào nút tài liệu đã chọn theo chỉ mục của nó. Việc tìm chỉ mục của bất kỳ nút nào liên quan đến việc thu thập tất cả các nút con của loại phần tử từ nút cha, sau đó sử dụng phương pháp IndexOf để tìm chỉ mục của nút mong muốn trong bộ sưu tập.

Tìm chỉ mục của bảng trong tài liệu

Đôi khi bạn có thể cần thực hiện các thay đổi đối với một bảng cụ thể trong tài liệu. Để làm điều này, bạn có thể tham khảo một bảng theo chỉ mục của nó.

Ví dụ mã sau đây cho thấy cách truy xuất chỉ mục của bảng trong tài liệu:

Tìm chỉ mục của một hàng trong bảng

Tương tự, bạn có thể cần thực hiện thay đổi đối với một hàng cụ thể trong bảng đã chọn. Để làm điều này, bạn cũng có thể tham chiếu đến một hàng theo chỉ mục của nó.

Ví dụ mã sau đây cho thấy cách truy xuất chỉ mục của một hàng trong bảng:

Tìm chỉ mục của một ô trong một hàng

Cuối cùng, bạn có thể cần thực hiện thay đổi đối với một ô cụ thể và bạn cũng có thể thực hiện việc này bằng chỉ mục ô.

Ví dụ mã sau đây cho thấy cách truy xuất chỉ mục của một ô trong một hàng:

Làm việc với cột

Trong Aspose.Words Document Object Model (DOM), nút Table bao gồm các nút Row và sau đó là các nút Cell. Do đó, trong Mô hình đối tượng Document của Aspose.Words, cũng như trong tài liệu Word, không có khái niệm về cột.

Theo thiết kế, các hàng của bảng trong Microsoft Word và Aspose.Words hoàn toàn độc lập và các thuộc tính cũng như thao tác cơ bản chỉ có trong các hàng và ô của bảng. Điều này mang lại cho các bảng khả năng có một số thuộc tính thú vị:

  • Mỗi hàng trong bảng có thể có số ô hoàn toàn khác nhau
  • Theo chiều dọc, các ô của mỗi hàng có thể có chiều rộng khác nhau
  • Có thể nối các bảng với định dạng hàng và số lượng ô khác nhau

Bất kỳ thao tác nào được thực hiện trên các cột thực chất là “phím tắt” thực hiện thao tác bằng cách thay đổi chung các ô hàng theo cách trông giống như chúng đang được áp dụng cho các cột. Nghĩa là, bạn có thể thực hiện các thao tác trên các cột bằng cách lặp lại chỉ mục ô hàng của cùng một bảng.

Ví dụ mã sau đây đơn giản hóa các hoạt động như vậy bằng cách chứng minh một lớp mặt tiền thu thập các ô tạo thành một “cột” của bảng:

Ví dụ mã sau đây cho thấy cách chèn một cột trống vào bảng:

Ví dụ về mã sau đây cho biết cách xóa một cột khỏi bảng trong tài liệu:

Chỉ định hàng làm hàng tiêu đề

Bạn có thể chọn lặp lại hàng đầu tiên trong bảng làm Hàng Tiêu đề chỉ trên trang đầu tiên hoặc trên mỗi trang nếu bảng được chia thành nhiều. Trong Aspose.Words, bạn có thể lặp lại Hàng tiêu đề trên mỗi trang bằng thuộc tính HeadingFormat.

Bạn cũng có thể đánh dấu nhiều hàng tiêu đề nếu các hàng đó lần lượt nằm ở đầu bảng. Để thực hiện việc này, bạn cần áp dụng thuộc tính HeadingFormat cho các hàng này.

Ví dụ mã sau đây cho thấy cách tạo bảng bao gồm các Hàng tiêu đề lặp lại trên các trang tiếp theo:

Giữ cho bảng và hàng không bị vỡ trên các trang

Đôi khi nội dung của bảng không được chia thành nhiều trang. Ví dụ: nếu tiêu đề nằm phía trên bảng thì tiêu đề và bảng phải luôn được giữ cùng nhau trên cùng một trang để duy trì hình thức phù hợp.

Có hai kỹ thuật riêng biệt hữu ích để đạt được chức năng này:

  • Allow row break across pages, được áp dụng cho các hàng của bảng
  • Keep with next, được áp dụng cho các đoạn văn trong ô bảng

Theo mặc định, các thuộc tính trên bị tắt.

Giữ một hàng không bị đứt giữa các trang

Điều này liên quan đến việc hạn chế nội dung bên trong các ô của một hàng không bị phân chia trên một trang. Trong Microsoft Word, điều này có thể được tìm thấy trong Thuộc tính bảng dưới dạng tùy chọn “Cho phép hàng ngắt giữa các trang”. Trong Aspose.Words, điều này được tìm thấy trong đối tượng RowFormat của Row dưới dạng thuộc tính RowFormat.AllowBreakAcrossPages.

Ví dụ về mã sau đây cho biết cách tắt tính năng ngắt hàng trên các trang cho mỗi hàng trong bảng:

Giữ cho bảng không bị vỡ trên nhiều trang

Để ngăn bảng chia thành nhiều trang, chúng ta cần xác định rõ rằng chúng ta muốn nội dung chứa trong bảng ở cùng nhau.

Để thực hiện điều này, Aspose.Words sử dụng một phương thức cho phép người dùng chọn một bảng và kích hoạt tham số KeepWithNext thành true cho từng đoạn trong các ô của bảng. Ngoại lệ là đoạn cuối cùng trong bảng nên được đặt thành false.

Ví dụ về mã sau đây cho thấy cách đặt một bảng ở cùng nhau trên cùng một trang: