我试图在UI5表单输入字段中显示edm.time类型的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>
当我试图在视图中显示开始时间属性时,它返回对象对象。我需要字符串格式的时间。我已经在表格中使用了格式化程序并且它工作正常。但是聚合items绑定是不同的,因为它是一个表控件。我需要UI5表单中输入字段中的值 请帮忙
答案 0 :(得分:1)
/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"/>
类型(与格式化程序相比)支持输入和输出转换。因此,它们可用于双向绑定输入,无需额外编码。