2017-10-11 49 views
0

当前UI5版本使用1.46.12获取列表|的第一个项目的值ODATA V4,SapUi5或OpenUi5

使用:sap.ui.model.odata.v4.ODataModel

需要什么?

是获取从oData(v4)响应接收到的列表数组的第一个项目的值“EventDate”。

查看代码

<layout:VerticalLayout binding="{/Logs}"> 
    <Text text="Latest update"/> 
    <Text id="LastUpdatedSynchronizeDateStringText" 
      text="{EventDate}"/> 
</layout> 

批处理请求响应(ODATA V4)

{ 
"@odata.context":"http://localhost/odata/$metadata#Logs","value":[ 
    { 
     "LogId":12512,"ErrText":"end","EventDate":"2017-05-11T07:10:44Z","Location":"OEN","Result":0 
    } 
    ] 
} 

试过&失败:

<Text id="Last..." text="{EventDate}"/> 
<Text id="Last..." text="{0/EventDate}"/> 
<Text id="Last..." text="{0.EventDate}"/> 

错误消息是 “无法向下钻取”

回答

0

将“绑定”属性设置为集合路径毫无意义,因为它会将绑定上下文设置为由于数组(集合)性质而无法访问的VerticalLayout控件。如果它是直接链接到一个特定的对象(使用它的键),那么它将起作用。

在你的情况下,你可以通过编码和“read”函数的“success”方法执行对'/ Logs'集合的请求,将VerticalLayout绑定到检索的对象,然后将'text =“{EventData}” ' 将工作。

粗糙步骤:

  1. odatamodel.read
  2. 把手成功方法经由odatamodel
  3. createKey方法构建的关键,第一个对象
  4. 呼叫“VerticalLayout的。bindObject”通过构建键之前
  5. 文本控件会自动得到更新,由于母公司控制的范围内变化,你会看到您的日期
+0

我正在使用oData v4 api,因此无法使用读取和创建调用,因为它们是用于odata v2。 https://openui5.hana.ondemand.com/#/topic/54e0ddf695af4a6c978472cecb01c64d –

相关问题