2017-01-11 23 views
2

所以,我在SAPUI5中構建應用程序,我無法修復問題。SAPUI5 - 格式化標籤使用導航屬性/數組

我在我的前臺:JS,SAPUI5,FIORI和後臺:HANA,HANAXS。


這裏發生了什麼:

我有我的後端服務的結構如下:

http://prntscr.com/dudto4

我有我的看法如下代碼:

<Table> 
.... 
<items> 
<ColumnListItem 
    type="Navigation"> 
    <cells> 
     <Label text = "{START_TIME}" design="Bold"/> 
     <Label text = "{END_TIME}" design="Standard"/> 
     <ObjectIdentifier title="{DESCRIPTION}" /> 
     <Label text="{ItsSpeakers}" design="Bold"/> 
    </cells> 
</ColumnListItem> 
</items> 
</Table> 

我可以檢索所有字段(START_TIME,END_TIME,DESCRIPT ION),但ItsSpeakers,這是一個導航屬性如下表所示:

http://prntscr.com/dudvw3

什麼是從上面的圖片給我檢索屬性(名稱,例如最好的方法)?

回答

1

如果ItsSpeakers是到單個實體的引用可以綁定如下

<Label text="{ItsSpeakers/NAME}" design="Bold"/> 

如果它是一個數組,可以判斷所需的記錄,並通過格式器函數返回值

<Label text="{path:'ItsSpeakers', formatter: '.getItsSpeakersName'}" design="Bold"/> 

...和你的控制器上的相應方法...

getItsSpeakersName: function(aItsSpeakers) { 
    // For example to return the NAME property of the first record 
    return this.getView().getModel().getProperty("/"+aItsSpeakers[0]+"/NAME"); 
} 

對於其中任何一個工作,它的演唱者將需要擴大您的表項綁定,例如...

<Table items="{ path: 'EntitySet', parameters: { expand: 'ItsSpeakers' } }"> 
+0

感謝的人。它工作perfetcly。最後一個問題:你是否在某處尋找答案,或者你已經知道?我提出這個問題是因爲我搜索了很多,我找不到一個東西...... – LuisValgoi

+0

很高興它幫助了...在過去有過類似的需求,最初可能會在某個地方看到,或者通過嘗試,測試和調試 –