2016-08-19 95 views
0

我正在使用Netweaver網關中的OData模型。SAPUI5:從第一行開始的OData模型顯示屬性

var oModel = new sap.ui.model.odata.ODataModel(url); 
this.setModel(oModel, "model"); 

現在我有要求顯示一個EntitySet的第一行屬性。

我在我的xml視圖中用下面的代碼嘗試了它,但沒有成功。

 <Text text="{model>/ZLLEDATSet/0/Date}"></Text> 

我認爲語法應爲 「MODELNAME」/ 「EntitySet的」/ 「索引」/ 「PROPERTYNAME」

基於從@SiddP答案:

我嘗試以下,但我得到的錯誤Uncaught [object Object]

<Text text="{ 
       path: 'model>/ZLLEDATSet', 
       formatter: function(value){ 
       return value[0].Date; 
       } 
      }"> 
      </Text> 

SOLUTION:(基於SAPUI5 Data Binding on SimpleForm

this.getView().byId("input").bindElement({ //"input" is id of a SimpleForm 
    path: "/ZLLEDATSet('0')", //'0' is the key 
    model: "model" 
}); 
//In SimpleForm 
<Text text="{model>Date}" /> 

奇怪的是,靜態解決方案不起作用。 (沒有請求到服務器)

<Text text="{model>/ZLLEDATSet('0')/Date}" /> 
+0

請檢查我的答案在http://stackoverflow.com/questions/39048699/sapui5-data-binding-on-simpleform,看看它是否有幫助 – cschuff

+0

@cschuff:這就是我的問題。其他答案基於JsonModel。你的'bindElement'動態解決方案適用於我。 (但奇怪的是,靜態的不是在我的解決方案中工作,因此,我沒有收到服務器上的請求。 –

回答

0

試試這個。

 text:{ 
      path: '/ZLLEDATSet', 
      formatter: function(value){ 
          return value[0].Date; 
         } 
      } 

上述代碼在你的問題工作正常。查看jsbin:http://jsbin.com/kobocidose/edit?html,js,output

如果仍然出現錯誤,只需將alert(JSON.stringify(oModel.getData()));檢查數據是否正確設置爲模型。數據很可能顯示爲空。

+0

@alexander你可以擺脫'model>'並嘗試 – SiddP

+0

你是什麼意思與rid? –

+0

你可以簡單地說'/ ZILLEDATSet'作爲你的json路徑被很好地映射,現在你只需要提供鍵值,你會得到一個值,然後該值再次有鍵和值對,你只需要拾取第0個元素值[0]和鍵的值從第0個元素的日期,即值[0]。日期 – SiddP