В этом примере показано, как задать ширину столбца для DOM Table и FormalTable.

Импортируйте пакет DOM API, чтобы не использовать длинные, полные имена классов.
import mlreportgen.dom.*Создание и открытие документа. Чтобы создать документ Word, измените тип вывода с pdf кому docx. Чтобы создать HTML-документ, измените pdf кому html или html-file для многофайлового или однофайлового документа соответственно.
d = Document("mydoc","pdf"); open(d);
Определение стилей таблиц, записей таблиц и строк заголовков, которые будут использоваться в последующих разделах.
tableStyle = ... { ... Width("100%"), ... Border("solid"), ... RowSep("solid"), ... ColSep("solid") ... }; tableEntriesStyle = ... { ... HAlign("center"), ... VAlign("middle") ... }; headerRowStyle = ... { ... InnerMargin("2pt","2pt","2pt","2pt"), ... BackgroundColor("gray"), ... Bold(true) ... };
Определение содержимого для строки заголовка таблицы и тела таблицы, которое будет использоваться позже для создания DOM с тремя столбцами Table и FormalTable.
headerContent = ... { ... 'First Name', 'Last Name', 'Address' ... }; bodyContent = ... { ... 'John', 'Smith', 'Natick, MA'; ... 'Jane', 'Doe', 'Boston, MA'; ... 'Robert', 'Stewart', 'Natick, MA' ... };
Следующий код использует DOM TableColSpecGroup определение стилей для группы столбцов в таблице. Установка Span свойство для 3 применяет форматирование группы ко всем трем столбцам таблицы. Чтобы отформатировать один или несколько соседних столбцов таблицы в группе, используйте DOM TableColSpec объекты. Первое TableColSpec объект, specs(1), простирается до первого 2 столбцы в группе. Установите Width формат в его Style свойство для создания каждого из этих двух столбцов 20% ширины таблицы. Второе TableColSpec объект, specs(2), охватывает один столбец, то есть третий столбец в группе, и форматируется для 60% ширины таблицы.
grps(1) = TableColSpecGroup;
grps(1).Span = 3;
specs(1) = TableColSpec;
specs(1).Span = 2;
specs(1).Style = {Width("20%")};
specs(2) = TableColSpec;
specs(2).Span = 1;
specs(2).Style = {Width("60%")};
grps(1).ColSpecs = specs;Следующий код добавляет заголовок и DOM Table к документу. Назначение grps, созданный в вышеуказанном коде, в ColSpecGroups свойство таблицы, делает первые 2 столбца 20% и третий столбец 60% ширины таблицы. Код также назначает стили для таблицы, записей таблицы и первой строки таблицы.
append(d,Heading1("Set column width for a DOM Table"));
tableContent = [headerContent; bodyContent];
table = Table(tableContent);
table.ColSpecGroups = grps;
table.Style = tableStyle;
table.TableEntriesStyle = tableEntriesStyle;
firstRow = table.Children(1);
firstRow.Style = headerRowStyle;
append(d,table);Следующий код добавляет заголовок и DOM FormalTable к документу. Назначение grps в ColSpecGroups свойство формальной таблицы делает первые 2 столбца 20% и третий столбец 60% ширины таблицы. Код также назначает стили для формальной таблицы, записей таблицы и строки заголовка формальной таблицы.
append(d,Heading1("Set column width for a DOM FormalTable"));
formalTable = FormalTable(headerContent,bodyContent);
formalTable.ColSpecGroups = grps;
formalTable.Style = tableStyle;
formalTable.TableEntriesStyle = tableEntriesStyle;
headerRow = formalTable.Header.Children;
headerRow.Style = headerRowStyle;
append(d,formalTable);Закройте и просмотрите документ.
close(d); rptview(d);