SAPUI5 tile容器OData与过滤器绑定

时间:2016-04-27 12:03:01

标签: odata sapui5

我正在尝试将数据从OData服务显示到我需要将一些过滤器传递给OData服务的磁贴。我使用下面的代码但是我收到错误“没有为tileContainer的bindAggregation函数指定模板或工厂函数”。

var tileContainer = new sap.m.TileContainer("tileContainer",{
            height:"80%",
              allowAdd : true,
              editable : false
        });
        var templateTile = new sap.m.StandardTile("tileTemplate",{
              title : 'Orders',
              number:'{COUNT}',
                 info:'Number of Orders',
              icon:"sap-icon://bar-chart",
              });
        oModel = sap.ui.getCore().getModel();
        tileContainer.setModel(oModel);

        tileContainer.bindAggregation('tiles',{path : "/OrderSet", filters: [f1, f2]}, templateTile);

         new sap.m.App({
              pages : new sap.m.Page({
                enableScrolling : false,
                title : "tile container",
                content : [tileContainer]
              })
            }).placeAt("content");

有人可以告诉我这里我做错了什么。

1 个答案:

答案 0 :(得分:0)

bindAggregation有两个参数; sAggregationNameoBindingInfo以及您的代码模板在oBindingInfo对象之外传递,因此无法使用,这是导致错误的原因。

您也可以传递单个参数,而不是在oBindingInfo对象中传递它们。但在这种情况下,必须保持参数序列。

使用此

更新bindAggregation方法的参数语法
tileContainer.bindAggregation("tiles",{
    path: "/OrderSet",
    filters: [f1, f2],
    template: templateTile
});