Работа с колони и редове

За повече контрол върху начина на работа на таблиците научете как да манипулирате колони и редове.

Намерете индекса на елементите на таблицата

Колоните, редовете и клетките се управляват чрез достъп до избрания възел на документа по неговия индекс. Намирането на индекса на всеки възел включва събиране на всички дъщерни възли от типа на елемента от родителския възел и след това използване на метода IndexOf за намиране на индекса на желания възел в колекцията.

Намиране на индекса на таблица в документ

Понякога може да се наложи да направите промени в определена таблица в документ. За да направите това, можете да се обърнете към таблица по нейния индекс.

Следващият пример за код показва как да извлечете индекса на таблица в документ:

Намерете индекса на ред в Таблица

По същия начин може да се наложи да направите промени в определен ред в избрана таблица. За да направите това, можете също да препращате към ред по неговия индекс.

Следващият пример за код показва как да извлечете индекса на ред в таблица:

Намерете индекса на клетка в ред

И накрая, може да се наложи да направите промени в определена клетка и можете да направите това и по Индекс на клетките.

Следващият пример за код показва как да извлечете индекса на клетка в ред:

Работа с колони

В Aspose.Words обектен модел на документ (DOM), Table възел се състои от Row възли и след това Cell възли. Така, в Document обектен модел на Aspose.Words, както и в Word документи, няма концепция за колона.

По дизайн редовете на таблицата в Microsoft Word и Aspose.Words са напълно независими, а основните свойства и операции се съдържат само в редовете и клетките на таблицата. Това дава възможност на таблиците да имат някои интересни атрибути:

  • Всеки ред на таблица може да има напълно различен брой клетки
  • Вертикално, клетките на всеки ред могат да имат различни ширини
  • Възможно е да се присъедините към таблици с различни формати на редове и брой клетки

Всички операции, извършвани върху колони, всъщност са" преки пътища", които извършват операцията, като колективно променят клетките на редовете по такъв начин, че да изглежда, че те се прилагат към колони. Това означава, че можете да извършвате операции върху колони, като просто итерирате върху същия индекс на клетки от редове на таблица.

Следващият пример за код опростява такива операции, като доказва клас фасада, който събира клетките, които съставляват" колона " на таблица:

Следващият пример за код показва как да вмъкнете празна колона в таблица:

Следващият пример за код показва как да премахнете колона от таблица в документ:

Задаване на редове като заглавни редове

Можете да изберете да повторите първия ред в таблицата като заглавен ред само на първата страница или на всяка страница, ако таблицата е разделена на няколко. В Aspose.Words можете да повтаряте заглавния ред на всяка страница, като използвате свойството HeadingFormat.

Можете също да маркирате няколко заглавни реда, ако тези редове са разположени един след друг в началото на таблицата. За да направите това, трябва да приложите свойствата HeadingFormat към тези редове.

Следващият пример за код показва как да създадете таблица, която включва заглавни редове, които се повтарят на следващите страници:

Пазете таблиците и редовете от счупване на страници

Има моменти, когато съдържанието на една таблица не трябва да се разделя на страници. Например, ако заглавието е над таблица, заглавието и таблицата трябва винаги да се съхраняват заедно на една и съща страница, за да се запази правилният външен вид.

Има две отделни техники, които са полезни за постигането на тази функционалност.:

  • Allow row break across pages, който се прилага към редовете на таблицата
  • Keep with next, която се прилага към абзаците в клетките на таблицата

По подразбиране горните свойства са забранени.

Пазете ред от счупване на страници

Това включва ограничаване на съдържанието в клетките на ред от разделяне на страница. В Microsoft Word това може да се намери под свойства на таблицата като опцията “Разрешаване на ред да се прекъсне през страници”. В Aspose.Words това се намира под RowFormat обект на а Row като собственост RowFormat.AllowBreakAcrossPages.

Следващият пример за код показва как да забраните прекъсването на редове в страници за всеки ред в таблица:

Пазете таблицата да не се счупи на страници

За да спрем разделянето на таблицата на страници, трябва да уточним, че искаме съдържанието, съдържащо се в таблицата, да остане заедно.

За да направите това, Aspose.Words използва метод, който позволява на потребителите да изберат таблица и да разрешат параметъра KeepWithNext да е верен за всеки абзац в клетките на таблицата. Изключение е последният параграф в таблицата, който трябва да бъде зададен като неверен.

Следващият пример за код показва как да зададете таблица, за да останат заедно на една и съща страница: