Выравнивание содержимого записи таблицы по горизонтали

В этом примере показано, как задать горизонтальное выравнивание записей таблицы в неформальных и формальных таблицах DOM API. В примере показано, как задать выравнивание всех записей таблицы, записей в строке и отдельной записи.

Setup документов и данных

Импортируйте пакет DOM так, чтобы вам не пришлось использовать длинные, полные имена классов.

import mlreportgen.dom.*

Создайте и откройте PDF. Чтобы создать документ Word, измените тип выхода с pdf на docx. Чтобы создать HTML, измените pdf на html или html-file для документа с мультифайлами или одним файлом, соответственно.

d = Document("mydoc","pdf");
open(d);

Задайте стили для таблицы, строки заголовка и строки нижнего колонтитула.

tableStyle = { Width("80%"), ...
               Border("solid"), ...
               RowSep("solid"), ...
               ColSep("solid") };

headerStyle = { BackgroundColor("LightBlue"), ...
                Bold(true) };

footerStyle = { BackgroundColor("LightCyan"), ...
                ColSep("none"), ...
                WhiteSpace("preserve") };

Определите содержимое для строки заголовка таблицы, тела и строки нижнего колонтитула.

headerContent = {'Item', 'Quantity', 'Cost'};
bodyContent = {'Table', 1, 55; ...
               'Chair', 4, 100; ...
               'Bookshelf', 2, 40};

total = sum([bodyContent{:,3}]);
footerContent = {[],'Total ',total};

tableContent = [headerContent; bodyContent];

Настройка выравнивания всех записей таблицы

Для первой таблицы центрируйте все записи таблицы путем установки одного свойства таблицы.

Создайте mlreportgen.dom.Table объект с использованием ранее заданного содержимого. Назначьте стили таблице и первой строке таблицы.

append(d,Heading1("All Table Entries Centered"));

table = Table(tableContent);
table.Style = tableStyle;

firstRow = table.Children(1);
firstRow.Style = headerStyle;

Установите горизонтальное выравнивание всех записей таблицы путем установки TableEntriesHAlign свойство к "center". Добавьте таблицу к документу.

table.TableEntriesHAlign = "center";
append(d, table);

Настройка выравнивания записей в строке таблицы

Для следующей таблицы центрируйте только записи верхней строки таблицы путем изменения строки Style свойство.

Назначьте стили таблице и первой строке таблицы. Вместо установки выравнивания по горизонтали с TableEntriesHAlign свойство, создайте HAlign объект и включить его в Style свойство первой строки вместе со стилем заголовка, заданным ранее.

append(d,Heading1("Top Row Entries Centered"));

table = Table(tableContent);
table.Style = tableStyle;

firstRow = table.Children(1);
firstRow.Style = [{HAlign("center")},headerStyle];

append(d,table);

Выравнивание, заданное для строки таблицы как Style свойство строки таблицы переопределяет выравнивание, заданную для всей таблицы TableEntriesHAlign свойство.

Установите выравнивание заголовка формальной таблицы и одной записи в нижнем колонтитуле

Для последней таблицы остановите формальную таблицу, используя mlreportgen.dom.FormalTable объект. Центрируйте записи заголовка таблицы и выровняйте одну запись нижнего колонтитула вправо.

Создайте mlreportgen.dom.FormalTable объект. Установите стили общей таблицы, верхнего и нижнего колонтитулов. Потому что заголовок FormalTable объект отдельен от тела, можно задать выравнивание записей заголовка при помощи TableEntriesHAlign свойство без влияния на значения тела или нижнего колонтитула. Также можно добавить HAlign объект в строку Style свойство.

append(d, Heading1("Header Entries Centered, One Footer Entry Right-Aligned"));

table = FormalTable(headerContent,bodyContent,footerContent);
table.Style = tableStyle;

table.Header.TableEntriesHAlign = "center";
table.Header.Style = headerStyle;

footer = table.Footer;
footer.Style = footerStyle;

Выровнять вторую запись нижнего колонтитула вправо путем включения HAlign объект в Style свойство записи. Выделите полужирным цвет записи, добавив mlreportgen.dom.Bold объект.

totalEntry = entry(footer,1,2);
totalEntry.Style = {HAlign("right"),Bold(true)};

append(d,table);

Закройте и просмотрите документ.

close(d);
rptview(d);

См. также

| |

Похожие темы