主要内容

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

为嵌入式 Web 视图报告创建超链接

此示例演示了如何使用 slreportgen.webview.EmbeddedWebViewDocument 类中的这些方法在文档窗格与报告中嵌入式 Web 视图之间创建单向和双向超链接:

  • createDiagramTwoWayLink - 在文档位置和嵌入式 Web 视图中的图之间创建双向链接。点击文档中的链接,即可在 Web 视图中打开目标图。点击图可将文档窗格滚动到目标文档位置。

  • createElementTwoWayLink - 在文档位置和嵌入式 Web 视图中的图元素之间创建双向链接。点击文档中的链接可打开包含模型元素的图,并临时突出显示该元素。点击图中的元素会将文档窗格滚动到目标文档位置。

  • createDiagramLink - 从文档中创建一个指向嵌入式 Web 视图中的图的链接。

  • createElementLink - 从文档创建一个指向嵌入式 Web 视图中的模块图元素的链接。

为嵌入式 Web 视图报告创建类

创建一个名为 TwoWayLinkWebView 的类,该类包含一个 fillcontent 方法,该方法使用 createDiagramTwoWayLinkcreateElementTwoWayLink 在嵌入式 Web 视图报告中的文档窗格和嵌入式 Web 视图之间创建双向链接。

classdef TwoWayLinkWebView < slreportgen.webview.EmbeddedWebViewDocument

    methods
        function wvdoc = TwoWayLinkWebView(reportPath,modelName)
            % Invoke the EmbeddedWebViewDocument constructor, which
            % saves the report path and model name for use by the fill
            % methods of the report.
            wvdoc@slreportgen.webview.EmbeddedWebViewDocument( ...
                reportPath,modelName);
        end

        function fillContent(wvdoc)
            % Fill the Content hole in the report template with design
            % variable information. Use DOM or Report API methods to
            % create, format, add, and append content to this report.

            [~, handles] = getExportDiagrams(wvdoc);

            n = numel(handles);
            for i = 1:n
                diagHandle = handles{i};
                diagHeading = createDiagramTwoWayLink(wvdoc, ...
                    diagHandle, ...
                    mlreportgen.dom.Heading(2, ...
                        get_param(diagHandle,"Name")));
                append(wvdoc,diagHeading);

                blockFinder = slreportgen.finder.BlockFinder( ...
                    diagHandle);

                while hasNext(blockFinder)
                    r = next(blockFinder);
                    elemHandle = r.Object;
                    elemHeading = createElementTwoWayLink(wvdoc, ...
                        elemHandle, ...
                        mlreportgen.dom.Heading(3, ...
                            get_param(elemHandle,"Name")));
                    append(wvdoc,elemHeading);
                end

            end
        end
    end
end

要创建从文档面板到嵌入式 Web 视图的单向链接,请将 createDiagramTwoWayLink 替换为 createDiagramLink,将 createElementTwoWayLink 替换为 createElementLink

创建嵌入式 Web 视图报告

sf_car 模型创建嵌入式 Web 视图报告,并测试报告中的双向链接:

1.在 MATLAB 命令行窗口中,输入:

model_name = "sf_car";
load_system(model_name);
wvdoc = TwoWayLinkWebView("myReport",model_name);
open(wvdoc);
fill(wvdoc);
close(wvdoc);
rptview(wvdoc);

2.在文档窗格中,点击一个图名称。例如,点击引擎。嵌入式 Web 视图显示关联的图。

3.在嵌入式 Web 视图的资源管理器栏中,点击 sf_car。嵌入式 Web 视图显示 sf_car 图,文档窗格会暂时突出显示图名称。

4.在文档窗格中,点击一个元素名称。例如,点击输入。嵌入式 Web 视图会突出显示 Inputs 模块。

5.在嵌入式 Web 视图中,双击 Vehicle 模块。文档窗格会暂时突出显示元素名称。

有关创建嵌入式 Web 视图生成器的其他任务,请参阅:

要了解如何生成嵌入式 Web 视图报告,请参阅生成嵌入式 Web 视图报告

另请参阅

主题