SAPUI5何时将初始过滤器绑定到控件

时间:2017-05-10 19:04:41

标签: odata sapui5

我希望在xml视图的控制器中动态地将过滤器绑定到视图中的控件。我知道怎么做但我最初没有找到合适的方法。

E.g。我在视图上定义了一个ComboBox,并给出了oData模型的绑定路径(在视图中)。然后在控制器中我希望在ComboBox的项目上设置一个fiter。我尝试了视图的onInit,但是在ComboBox对象中尚未设置绑定。

我通过执行延迟加载来解决它并在“loadItems”事件中设置过滤器。有没有办法通过不使用延迟加载来做到这一点?没有找到合适的事件或标准钩子。

感谢。

1 个答案:

答案 0 :(得分:1)

所以在oninit()中没有绑定... ...你在哪里创建绑定然后第一次???您第一次创建绑定时也可以应用初始过滤器。

例如,在onInit中的控制器中,您可以调用 this.byId(" myComboBox")来获取控件。然后你调用 oComboBox.bindItems({...})并传递初始过滤器。所以 bindItems(...)也接受过滤器。如果过滤器发生变化,您只需调用 oComboBox.getBinding(" items")。filter(...)即可更新过滤器。查看worklist app tutorial了解一些详细信息......

顺便说一句,您也可以直接在XMLView中直接指定包含过滤器的绑定。有关详细信息,请参阅我的answer here