Sapui5:如果有oData参数,如何将oData服务绑定到SAPUI5表

时间:2014-05-24 13:17:30

标签: data-binding odata sapui5

如何在使用OData $ expand参数

时将oData服务绑定到SAPUI5表
<Table id="contactPickerTable"
          items="{path: 'modelPersons>/ContactSet',
          filters : [{path : 'Customer',operator : 'EQ',value1:'2035235403'}]
          parameters : {expand:'Address'}}"  
>
.....
<ObjectIdentifier 
      title="{modelPersons>Title}"
      text="{modelPersons>PersonId}" />

我知道列表绑定数据到表的上述示例有效。但是如果我的服务中有$ expand,那么如何在ObjectIdentifier中显示返回集合的属性?我的意思是什么是上下文路径?

服务器响应如下所示:

<entry>
<id></id>
<title type="text">PartnerSet('2010002791')</title>
<updated>2014-05-24T08:05:58Z</updated>
...
<link href="PartnerSet('2010002791')" rel="self" title="Partner"/>
<link href="PartnerSet('2010002791')/Address" rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Address" type="application/atom+xml;type=feed" title="Address">
<m:inline>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" >
<id>PartnerSet('2010002791')/Address</id>
<title type="text">AddressSet</title>
<updated>2014-05-24T08:05:58Z</updated>
<author>
<name/>
</author>
<link href="PartnerSet('2010002791')/Address" rel="self" title="AddressSet"/>
<entry>
<id></id>
<title type="text">AddressSet('')</title>
<updated>2014-05-24T08:05:58Z</updated>
...
<d:FirstName>DM LABO SARL</d:FirstName>
<d:Name>DIDIER MARTIN LABORATOIRE</d:Name>
<d:Name3/>
...
...

如何访问“姓名”属性?

1 个答案:

答案 0 :(得分:1)

尝试类似下面的内容,我假设地址有街道,州和国家,我把它们放在$ Select条件下限制返回的字段

<Table id="contactPickerTable"
       items="{
         path: 'modelPersons>/ContactSet',
         filters : [{ path: 'Customer', operator: 'EQ', value1: '2035235403' }]
         parameters: {
           expand: 'Address',
           select: 'Title,PersonId,Address/Street,Address/State,Address/Country'
         } 
       }">
...
<ObjectIdentifier
     title="{modelPersons>Title}"
     text="{modelPersons>PersonId}" />
     <Text
        text="{modelPersons>Address/Street}"/>
     <Text
        text="{modelPersons>Address/State}"/>
     <Text
        text="{modelPersons>Address/Country}"/>

JsBin示例:OData Expand and Select with XmlView