XML计算的绑定路径

时间:2016-07-05 20:36:28

标签: odata sapui5

我正在寻找一种方法,根据另一个属性中的值将字段绑定到某个聚合值。我知道还有其他几种方法可以做到这一点,但如果我能做到这一点,它会比我的选择好得多。

这是我到目前为止所使用的表达式绑定:

<Text text="{= ${path:'/ProjectStatus(${key})/status'} }"/>

目的:绑定到与当前对象的key属性匹配的ProjectStatus对象,并从中获取status属性。

提前致谢!

1 个答案:

答案 0 :(得分:1)

抱歉,这不起作用。您不能为此目的使用表达式绑定。表达式绑定非常强大,但是用于格式化和一些数学运算,而不是用于定义绑定。

以这种方式解决它也是不明智的。如果要为实体创建键,则应始终使用ODataModel的createKey方法,以确保该键遵循与属性类型对应的语法。例如:/ProjectStatus('ABC')代表String类型的密钥,或/ProjectStatus(123)代表Int类型的密钥。

最好是让控制器在Text控件上执行bindElement。类似的东西:

this.getView().byId("TextId").bindElement(
    oModel.createKey("/ProjectStatus", { Id: sKey })
);

之后,您可以使用<Text text="{status}" />来显示项目的状态。