2016-09-17 70 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"/> 

类型(相比于格式化器)支持输入和输出转换。所以它们可以在没有附加编码的情况下用于双向绑定输入。

相关问题