Main Content

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

mlreportgen.report.HTMLModuleTabs 类

命名空间: mlreportgen.report
超类: mlreportgen.report.Reporter

创建选项卡式面板

自 R2020a 起

描述

mlreportgen.report.HTMLModuleTabs 报告器将由一堆选项卡式面板(模块选项卡)组成的小部件添加到 HTML 报 告。选择一个选项卡将显示面板的内容。使用此报告器以紧凑形式显示相关信息。

注意

HTMLModuleTabs 报告器仅用于 HTML 或单文件 HTML 报 告。

mlreportgen.report.HTMLModuleTabs 类是一个 handle 类。

类属性

HandleCompatible
true

有关类属性的信息,请参阅类属性

创建对象

描述

示例

tabsObj = mlreportgen.report.HTMLModuleTabs 创建一个空的 HTMLModuleTabs 报告器。您必须使用 TabsData 属性指定选项卡标签和内容。向报告中添加空的 HTMLModuleTabs 报告器会产生错误。

tabsObj = mlreportgen.report.HTMLModuleTabs(Name=Value) 使用名称-值对设置属性。您可以按任意顺序指定多个名称-值对参量。

属性

全部展开

选项卡标签和面板内容,指定为具有以下字段的结构数组:

  • Label - 选项卡标签,指定为字符向量、字符串标量或 mlreportgen.dom.Text 对象。为每个选项卡使用唯一的标签。

  • Content - 面板内容,指定为以下值之一:

    • 字符向量或字符串标量

    • DOM 对象

    • 报告 API 报告器对象

    注意

    要在一个选项卡中包含多个 DOM 对象,请将 Content 字段设置为包含 DOM 对象的 mlreportgen.dom.Group 对象。

该报告器的模板来源,以下列方式之一指定:

  • 字符向量或字符串标量,指定包含此报告器模板的文件的路径

  • 报告器或报告,其模板用于此报告器,或其模板库包含此报告器的模板

  • DOM 文档或文档部件,其模板用于此报告器,或其模板库包含此报告器的模板

对于 HTML 报 告,模板的类型必须是 htmtx。对于单文件报告,类型必须为 htmt

此报告器的模板名称,指定为字符向量或字符串标量。该报告器的模板必须位于该报告器的模板源 (TemplateSrc) 的模板库中。

此报告器的超链接目标,指定为指定链接目标 ID 的字符向量或字符串标量,或指定为 mlreportgen.dom.LinkTarget 对象。字符向量或字符串标量值被转换为 LinkTarget 对象。链接目标在输出报告中紧接着此报告器的内容。

方法

全部展开

示例

全部折叠

此示例生成一个单文件 HTML 报 告,该报告为 Simulink® 模型的每个系统图都有单独的选项卡面板。

此示例需要 Simulink 和 Simulink Report Generator™

运行以下命令来访问本示例中使用的支持文件。

openExample('rptgenext/SimulinkReportGeneratorFilesExample');

创建报告和章节。

rpt = slreportgen.report.Report("MyReport","html-file");
open(rpt);

ch = mlreportgen.report.Chapter("sf_car System Diagrams Tabbed Image Gallery");

加载模型并找到模型中的所有图表。

model_name = "sf_car";
load_system(model_name);

finder = slreportgen.finder.DiagramFinder(model_name);
results = find(finder);

创建一个 mlreportgen.report.HTMLModuleTabs 报告器来包含与图表相对应的选项卡。指定每个系统图的选项卡标签和内容。选项卡标签是系统名称。选项卡内容是系统图快照。

moduleTabs = mlreportgen.report.HTMLModuleTabs();
for result = results
    moduleTabs.TabsData(end+1).Label = result.Name;
    
    diag = result.getReporter();
    moduleTabs.TabsData(end).Content = mlreportgen.dom.Image(diag.getSnapshotImage(rpt));
end

HTMLModuleTabs 报告器添加到章节中,并将章节添加到报告中。关闭并查看报告。

add(ch,moduleTabs);
add(rpt,ch);

close(rpt);
rptview(rpt);

报告打开时显示第一个选项卡的内容。第一个选项卡包含模型的顶层图。要查看不同的图表,点击相应的选项卡。

此示例生成选项卡式面板,其中每个面板包含不同类型的内容。该示例还展示了如何通过将 DOM 对象分组到 mlreportgen.dom.Group 对象中来将多个 DOM 对象包含在选项卡面板的内容中。

创建一份报告和一个章节。

rpt = mlreportgen.report.Report("MyReport","html");
open(rpt);
ch = mlreportgen.report.Chapter("Tabs with Different Types of Content");

创建一个 HTMLModuleTabs 报告器并指定每个选项卡面板的标签和内容。对于最后一个面板,创建一个包含段落和表格的 Group 对象。

% Create group from a paragraph and a table
p = mlreportgen.dom.Paragraph('This is a table:');
t = mlreportgen.dom.Table(magic(2));
grp = mlreportgen.dom.Group;
append(grp,p);
append(grp,t);

% Create cell arrays for the labels and content
labels = {'Text','Paragraph','Link','List','Image','Group'};
content = {"This tab contains text as a string.",...
    mlreportgen.dom.Paragraph('This tab contains content using a DOM Paragraph.'),...
    mlreportgen.dom.ExternalLink("http://www.mathworks.com/","MathWorks"),...
    mlreportgen.dom.UnorderedList(["Coffee", "Tea", "Milk"]),...
    mlreportgen.dom.Image(which("ngc6543a.jpg")),...
    grp};

% Create a structure from the labels and content
tabsdata = struct('Label',labels,'Content',content);

% Create the HTMLModuleTabs reporter
modTabsObj = mlreportgen.report.HTMLModuleTabs('TabsData',tabsdata);

将 HTMLModuleTabs 报告器添加到报告中。关闭并查看报告。

add(ch,modTabsObj);
add(rpt,ch);
close(rpt);
rptview(rpt);

报告打开时显示第一个选项卡的内容。

tabs_ex2.png

点击“组”选项卡可看到其包含一个段落和一个表格。

tabs_ex_2_group_tab.png

版本历史记录

在 R2020a 中推出