Параллельные таблицы

В этом примере показано, как расположить таблицы один за другим на странице.

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

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

import mlreportgen.dom.*
import mlreportgen.report.*

% To create a Word report, change the output type from "pdf" to "docx". 
% To create an HTML report, change "pdf” to “html” or "html-file" for a 
% multifile or single-file report, respectively.
rpt = Report('myreport','pdf');

Создайте два объекта таблица и table2 для хранения данных о магических квадратах. Установите ширину этих таблиц равной 100% для размещения в невидимых камерах таблицы, созданных ниже. Кроме того, задайте стили для границ таблицы, диафрагм строк и диафрагм столбцов.

tableStyle = { ...
    Width('100%'), ...
    Border('solid','black','1px'), ...
    ColSep('solid','black','1px'), ...
    RowSep('solid','black','1px') ...
    };

table1 = Table(magic(8));
table1.TableEntriesHAlign = 'center';
table1.Style = tableStyle;

table2 = Table(magic(4));
table2.TableEntriesHAlign = 'center';
table2.Style = tableStyle;

Вставьте таблицы в единственную строку невидимого размещения 1x3 (lo_table). Таблица считается невидимой, если границы не определены ни для таблицы, ни для ее записей.

lo_table = Table({table1,' ',table2});

Задайте ширину записей размещения, чтобы соответствовать таблицам магических квадратов.

lo_table.entry(1,1).Style = {Width('3.2in')};
lo_table.entry(1,2).Style = {Width('.2in')};
lo_table.entry(1,3).Style = {Width('3.2in')};

Установите ширину таблицы размещения так, чтобы она охватывала ширину страницы между полями. Установите значение false в ResizeToFitContents, чтобы столбцы таблицы размещения не были изменены в размере и вместо этого использовались указанные ширины.

lo_table.Style = {Width('100%'), ResizeToFitContents(false)};

Сгенерируйте и отобразите отчет.

add(rpt, lo_table);
close(rpt);
rptview(rpt);