XML视图:如何将两个不同的路径绑定到一个元素?

时间:2015-10-26 10:27:17

标签: xml data-binding sapui5 sap-fiori

我正在开发Fiori App以显示一些来自OData服务的销售数据。我有一个标题(invoiceHeaderSet),字段“Waerk”显示货币键。

我有一个绑定到表的位置(/ invoiceHeaderPositionsNav)。现在,我想在每个位置货币字段“Netwr”旁边显示标题“Waerk”字段。

如何在不创建多余本地模型的情况下在XML视图中执行此操作?下面,您将看到我的问题的简化示例。

// this view is bound to OData /invoiceHeaderSet
<ObjectHeader
    numberUnit="{Waerk}"/> <-- does work
   <Table
     items="{
       path: 'invoiceHeaderPositionsNav'
         }" />
      <ColumnListItem 
         <Text text="{'Netwr'} <-- does work
                     {'/invoiceHeaderSet/Waerk'}"/> <-- does not work               

1 个答案:

答案 0 :(得分:0)

解决方案A

您是否在index.html的bootstrapping部分中激活了复杂的绑定语法?

data-sap-ui-bindingSyntax="complex"

解决方案B

您还可以做的是编写自己的格式化程序方法。为此,您必须将绑定更改为以下内容:

text="{ parts: [{ path: 'Netwr' }, { path: '/invoiceHeaderSet/Waerk' }], formatter: '.formatTitle' }"

在你的控制器中,你必须实现formatTitle功能,e。克。

formatTitle: function (sNetwr, sWaerk) {
    return sNetwr + " " + sWaerk;
},