多级列表
此示例显示了创建多级列表的两种方法。第一种方法是创建一个元胞数组,对多级列表进行建模,并将该元胞数组追加到文档。第二种方法是通过构造 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