2016-09-17 9 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', formatOptions: {style: 'short'} }" width="500%" editable="false"/> 

タイプ:

<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を提供することができます出力変換を行う。したがって、追加コーディングなしで双方向入力で使用できます。

関連する問題