我正在寻找一种方法,根据另一个属性中的值将字段绑定到某个聚合值。我知道还有其他几种方法可以做到这一点,但如果我能做到这一点,它会比我的选择好得多。
这是我到目前为止所使用的表达式绑定:
<Text text="{= ${path:'/ProjectStatus(${key})/status'} }"/>
目的:绑定到与当前对象的key属性匹配的ProjectStatus对象,并从中获取status属性。
提前致谢!
答案 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}" />
来显示项目的状态。