多级列表
此示例显示了创建多级列表的两种方法。第一种方法是创建一个元胞数组,对多级列表进行建模,并将该元胞数组追加到文档。第二种方法是通过构造 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 报告,混合无序列表和有序列表可能不会产生最佳效果。请参阅自定义样式的 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); % Not a ListItem, but an OrderedList append(firstLevelList, secondLevelList); 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 报告,混合无序列表和有序列表可能不会产生最佳效果。请参阅自定义样式的 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