过滤器中“ value1”的属性绑定

时间:2018-06-22 15:14:12

标签: sapui5

是否可以将模型中的值绑定到SAPUI5中的过滤器?

我的模特:

{
  "MasterItems": [
    {
      "ID" : "1.1",
      "ParentID" :  "1",
      "Text" : "a"
    },
    {
      "ID" : "2.1",
      "ParentID" :  "2",
      "Text" : "b"
    }
  ]
}

我的控制权

<List items="{
  path: 'MasterItems>/MasterItems',
  filters: [
    {
      path: 'ParentID',
      operator: 'EQ',
      value1: '1'
    }
  ]
}">

按预期,该列表仅显示带有文本"1"的第一个项目。 但是value1是静态的。我想知道是否可以为value1做属性绑定吗?

类似的东西:

value1: 'MasterItems>ParentID'

现在过滤器应该依赖于模型。

我已经在控制器中实现了功能,但是我认为使用聚合绑定会更好。

1 个答案:

答案 0 :(得分:0)

正如Boghyon所说,这是不可能的。无法将过滤器直接绑定到模型。

唯一的解决方法是获取要过滤的聚合的绑定并在控制器中设置过滤器:

示例片段:

var oFilter = new sap.ui.model.Filter("SomeModelProperty", sap.ui.model.FilterOperator.EQ, "SomeValue");

var oControlBinding = this.getView().byId("idOfYourControl").getBinding("items");
oControlBinding.filter(oFilter);

您还可以通过将多个过滤器推入数组,然后将其分配给绑定来组合多个过滤器。请参阅文档https://sapui5.hana.ondemand.com/#/api/sap.ui.model.Filter