1

我正在创建一个当前存在于 Silverlight 中的系统的 SAPUI5 原型版本。

在当前的 Silverlight 应用程序中,我们有一个页面,其中包含一个数据表、一个条形图和一个树形图,它们都显示相同数据的不同表示。

在 SAPUI5 中,我已成功复制数据表和条形图,但无法显示树形图,我得到的只是未捕获类型错误:未定义不是我尝试创建树形图的行上的函数错误。

    var oModel = new sap.ui.model.odata.ODataModel(
            "../../../services/PCPVCarlineModelYear.xsodata/",
            false);
    
var treemapDataset = new sap.viz.ui5.data.FlattenedDataset({

            dimensions : [ {
            axis : 1, // must be 1 for x-axis. 2 for y-axis
            name : 'Carline',
            value : "{Carline}"
        }],

        measures : [ {
            group : 1,
            name : 'NumberOfVINs',
            value : '{NumberOfVINs}'
        }],

        data : {
            path : "/PCPVCarlineModelYear"
        }
    });
    

    var oTreemap = new sap.viz.ui5.types.Treemap({
        dataset : treemapDataset
    });
    
    oTreemap.setModel(oModel);
    
    return oTreemap;

Undefined is not a function 出现错误就var oTreemap = new sap.viz.ui5.Treemap({行了。

如果我将代码从 更改TreemapBar,那么它会正确显示条形图,而不是树形图。

此外,在index.html页面中,我声明了以下脚本块以加载正确的库:

    <script src="/sap/ui5/1/resources/sap-ui-core.js"
            id="sap-ui-bootstrap"
            data-sap-ui- libs="sap.ui.commons,sap.ui.table,sap.viz,sap.viz.ui5"
            data-sap-ui-theme="sap_hcb"
            data-sap-ui-modules="sap.ui.core.plugin.DeclarativeSupport">
    </script>

谁能建议我可能做错了什么?

非常感谢,

马丁。

4

2 回答 2

2

您使用的是哪个版本的 SAPUI5?1.14 版有Treemap,1.12 版没有。

您可以运行与此处相同的测试:链接 (单击“使用 JS 运行”)

该示例返回Treemap构造函数的代码 - 当您加载自己的 UI5 的 copy/sap-ui-core.js 时它返回什么?

或者,不是从您自己的服务器加载 UI5,您可以尝试从Link加载它(就像在我的 jsbin 片段中一样) Treemap 是否工作?

问候安德烈亚斯

于 2013-11-28T15:39:11.250 回答
0

对 case 进行交叉检查,在 JavaScript 中,大写和小写的处理方式不同。

我遇到了同样的问题,错误是sap.m.Page()我在写 sap.m.page();

于 2014-04-16T14:14:45.933 回答