为了账号安全,请及时绑定邮箱和手机立即绑定

如何从OData服务正确地将日期/时间添加到UI?

如何从OData服务正确地将日期/时间添加到UI?

慕田峪7331174 2019-11-03 08:04:03
语境我正在创建一个演示页面,该页面显示UI5的一些直接功能。该页面包括两个主要页面:在第一页上,有一个可以创建,删除和更新的运营商列表。这些运营商有一个ID(Carrid)。如果单击某个承运商,他们将被转到第二页,表格中将显示所选承运方的所有航班(其中包含有关航班的一些信息)。该表如下所示:<Table id="detailTable" inset="false" class="sapUiResponsiveMargin">    <columns>        <Column>            <Text text="ID" />        </Column>        <Column>            <Text text="Flightnumber" />        </Column>        <Column>            <Text text="Starts in" />        </Column>        <Column>            <Text text="Departs at" />           </Column>         <Column>            <Text text="Lands in" />           </Column>         <Column>            <Text text="Lands at" />           </Column>    </columns></Table>问题如果可以不先处理就可以显示数据,则代码可以正常工作。但字段{Deptime}和{Arrtime}有型Edm.Time,我需要先转换,才能在人类可读的形式来显示。我可以通过以下代码来实现这一点(我知道,这不是最有效的方法,但是我仍在学习中。因此,如果有任何改进,请随时发布):pageTable.addEventDelegate({    onAfterRendering: function() {        var mTable = this.getView("FilterBarSimple").byId("detailTable");        var mModel = mTable.getModel();        var aItems = mTable.getItems();        // ----- TIME CONVERSION ----        var arrayTime = [];        for (var iTime = 0; iTime < aItems.length; iTime++) {            var iAdded = mModel.getProperty("Deptime", aItems[iTime].getBindingContext());            arrayTime.push(iAdded);        }        var timeFormat = sap.ui.core.format.DateFormat.getTimeInstance({            pattern: "kk:mm:ss"        });        var tz = new Date(0).getTimezoneOffset() * 60 * 1000;        var arrayTimeClean = [];        $.each(arrayTime, function(ii, ee) {            var timeStr = timeFormat.format(new Date(ee.ms + tz));            arrayTimeClean.push(timeStr);        });    }});这将生成正确的输出:Image_Of_Converted_Output但是我无法再次将此操纵数据正确绑定到表中。我已经尝试过使用该OData.read()函数和其他一些不太实用的方法,但是我从未成功过,并且在相当长的一段时间里一直困扰着这个问题。如果有人有想法或建议,如果您让我知道,我将不胜感激。
查看完整描述

2 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

我正在使用sap.ui.model.odata.type.Time,但对我来说,问题是使用默认格式会使此值P00DT00H00M00S而不是此PT0H0M0S一个,而OData服务给出了奇怪的错误:Cannot read property '1' of null

查看完整回答
反对 回复 2019-11-04
  • 2 回答
  • 0 关注
  • 430 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信