В этом примере показаны два способа создания многоуровневых списков. Первым способом создается массив ячеек, моделирующий многоуровневый список и добавляющий массив ячеек к документу. Второй способ программного построения многоуровневого списка заключается в построении объектов List и ListItem.

Импортируйте пакеты DOM, чтобы не использовать полные имена классов.
import mlreportgen.dom.*Простой список может быть представлен в виде простого массива ячеек, в котором элементы массива ячеек используются для создания элементов списка. Чтобы создать этот простой список:

Создайте этот массив ячеек.
simpleCellArray = { ...
'a', ...
'b', ...
'c', ...
'd'};Добавление массива ячеек к Document объект. Чтобы создать HTML-отчет, замените «pdf» на «html». Чтобы создать отчет Word, замените «pdf» на «docx».
d = Document("cell_simple_list", "pdf"); append(d, simpleCellArray); close(d); rptview(d);
Двухуровневый список может быть представлен в виде массива ячеек, где один или несколько элементов являются ячейками. Чтобы создать этот двухуровневый список:

Создать этот массив ячеек:
twoLevelCellArray = { ...
'a', ...
'b', ...
{ ...
'1', ...
'2', ...
'3', ...
'4' ...
}, ...
'c', ...
'd'}; Добавление двухуровневого массива ячеек к Document объект. Чтобы создать HTML-отчет, замените «pdf» на «html». Чтобы создать отчет Word, замените «pdf» на «docx».
d = Document("cell_two_level_list", "pdf"); append(d, twoLevelCellArray); close(d); rptview(d);
Трехуровневый список может быть представлен в виде вложенного массива ячеек глубиной в три уровня. Чтобы создать этот трехуровневый список:

Создать этот массив ячеек:
threeLevelCellArray = {
'a', ...
'b', ...
{ ...
'1', ...
{ ...
'a', ...
'b', ...
'c', ...
'd' ...
}, ...
'2', ...
'3', ...
'4' ...
}, ...
'c', ...
'd'};Добавление трехуровневого массива ячеек к Document объект. Чтобы создать HTML-отчет, замените «pdf» на «html». Чтобы создать отчет Word, замените «pdf» на «docx».
d = Document("cell_three_level_list", "pdf"); append(d, threeLevelCellArray); close(d); rptview(d);
Чтобы создать еще более глубокие многоуровневые списки, добавьте дополнительные массивы вложенных ячеек для представления внутренних списков.
Простой список можно создать, создав ListItem и добавление их к объекту OrderedList или UnorderedList. Для следующего простого неупорядоченного списка:

Создать ListItem объекты.
itemA = ListItem('a'); itemB = ListItem('b'); itemC = ListItem('c'); itemD = ListItem('d');
Добавить ListItem объекты в UnorderedList объект.
unorderedList = UnorderedList(); append(unorderedList, itemA); append(unorderedList, itemB); append(unorderedList, itemC); append(unorderedList, itemD);
Добавление списка к Document объект. Чтобы создать HTML-отчет, замените «pdf» на «html». Чтобы создать отчет Word, замените «pdf» на «docx».
d = Document("prog_simple_list", "pdf"); append(d, unorderedList); close(d); rptview(d);
Двухуровневый список может быть создан путем добавления OrderedList или UnorderedList объект к родительскому List Объект. Для следующего двухуровневого списка:

Создайте неупорядоченный список второго уровня с помощью массива ячеек. Чтобы создать HTML-отчет, замените «pdf» на «html». Чтобы создать отчет Word, замените «pdf» на «docx». Для отчета Word смешение неупорядоченных и упорядоченных списков может не дать наилучших результатов. См. пример списка слов с пользовательским стилем.
secondLevelList = UnorderedList({ ...
'1', ...
'2', ...
'3', ...
'4'});Создать список первого уровня.
itemA = ListItem('a'); itemB = ListItem('b'); itemC = ListItem('c'); itemD = ListItem('d'); firstLevelList = OrderedList(); append(firstLevelList, itemA); append(firstLevelList, itemB); append(firstLevelList, secondLevelList); % Not a ListItem, but an OrderedList append(firstLevelList, itemC); append(firstLevelList, itemD);
Добавление списка к Document объект.
d = Document("prog_two_level_list", "pdf"); append(d, firstLevelList); close(d); rptview(d);
Трехуровневый список может быть создан путем добавления двухуровневого списка к родительскому List Объект. Для следующего трехуровневого списка:

Создайте список третьего уровня.
thirdLevelList = UnorderedList({ ...
'1', ...
'2', ...
'3', ...
'4'});Создайте список второго уровня.
secondLevelList = OrderedList({ ...
'a', ...
'b', ...
thirdLevelList, ... % This is a List, the rest are ListItems.
'c', ...
'd'});Создайте список первого уровня.
firstLevelList = OrderedList({
'a', ...
'b', ...
secondLevelList, ...
'c', ...
'd'});Добавление списка к Document объект. Чтобы создать отчет Word, замените «pdf» на «docx». Чтобы создать HTML-отчет, замените «pdf» на «html». Для отчета Word смешение неупорядоченных и упорядоченных списков может не дать наилучших результатов. См. пример списка слов с пользовательским стилем.
d = Document("prog_three_level_list", "pdf"); append(d, firstLevelList); close(d); rptview(d);
Для создания еще более глубоких многоуровневых списков добавьте List объекты в List объекты.
mlreportgen.dom.Document | mlreportgen.dom.ListItem | mlreportgen.dom.OrderedList | mlreportgen.dom.UnorderedList