主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

多级列表

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

二级列表

可以通过将 OrderedListUnorderedList 对象追加到父 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 对象。

另请参阅

| | |

主题