2016-09-17 71 views
0

我試圖在UI5表單輸入字段 中顯示edm.time類型的odata屬性。 查看代碼在UI5表單輸入字段中顯示odata時間值

 <Input id="id1" placeholder="Enter value" value="{ path: 'START_TIME', mode: 'sap.ui.model.BindingMode.OneWay' }" width="500%" editable="false"/> 

START_TIME是

控制器代碼 -

onInit: function() { 
     var model= new sap.ui.model.odata.v2.ODataModel("<xsodata url>"); 
     model.setDefaultBindingMode(sap.ui.model.BindingMode.TwoWay); 
     this.getView().setModel(model); 
     var oRouter = sap.ui.core.UIComponent.getRouterFor(this); 
     oRouter.getRoute("<pattern_name>").attachMatched(this._onObjectMatched, this); 

    }, 
    _onObjectMatched: function (oEvent) { 
     var oArgs, oView; 
     oArgs = oEvent.getParameter("arguments"); 
     oView = this.getView(); 
     oView.bindElement({ 
      path : "/" + oArgs.objPath 
     }); 

    } 

Here object path is as follows- 
    /Entityname/<id of a partcular item in that entity> 

當我試圖顯示視圖的開始時間屬性的實體的屬性,它返回對象的對象。我需要在字符串格式的時間。我已經在一個表格中使用格式化程序,它的工作正常。但在那裏聚合項目綁定是不同的,因爲它是一個表控制。我需要輸入字段中的值在UI5形式 P租賃幫助

回答

1

binding path syntax

/EntitySet('id') //In case of a string id 
/EntitySet(id)  //In case of a number id 

而且不支持在開始雙//。請檢查是否需要"/" +

所述的OData Edm.Time可以用sap.ui.model.odata.type.Time類型被格式化:

<Input id="id1" placeholder="Enter value" value="{ path: 'START_TIME', mode: 'sap.ui.model.BindingMode.OneWay', type: 'sap.ui.model.odata.type.Time' }" width="500%" editable="false"/> 

可以提供進一步format options自定義輸出:

<Input id="id1" placeholder="Enter value" value="{ path: 'START_TIME', mode: 'sap.ui.model.BindingMode.OneWay', type: 'sap.ui.model.odata.type.Time', formatOptions: {style: 'short'} }" width="500%" editable="false"/> 

類型(相比于格式化器)支持輸入和輸出轉換。所以它們可以在沒有附加編碼的情況下用於雙向綁定輸入。

相關問題