UI5表的转换日期,可能在bindProperty

时间:2018-01-08 22:10:21

标签: date sapui5

我有一个包含2列的表:键和值。

密钥是日期,使用sap时间格式格式化。 像这样:

"/Date(1510700400000)/"

我有一个以可读形式显示日期的功能。

        convertDate: function() {
        if (value === 'null') {
            return value.replace('null', 'no date specified')
        } else {
            var d = new Date(parseInt(value.replace('/Date(', '').replace(')/', ''), 10))
        }
        var month = d.getUTCMonth() + 1 // months from 1-12
        var day = d.getUTCDate()
        var year = d.getUTCFullYear()
        return year + '/' + month + '/' + day

    },

我通过以下方式访问我的价值:

            oTable2.addColumn(new sap.ui.table.Column({
            label: new sap.ui.commons.Label({
                text: "RDATE"
            }),
            sortProperty: "RDATE",
            template: new sap.ui.commons.TextView().bindProperty("text", "key")
        }));

现在我想在“key”上调用我的函数。

我怎样才能做到这一点? :)

1 个答案:

答案 0 :(得分:1)

您可以使用格式化程序功能来实现此目的。

 template: new sap.ui.commons.TextView().bindProperty("text", {
    path: "key",
    formatter: function(value){
        if (value === 'null') {
            return value.replace('null', 'no date specified')
        } else {
            var d = new Date(parseInt(value.replace('/Date(', '').replace(')/', ''), 10))
        }
        var month = d.getUTCMonth() + 1 // months from 1-12
        var day = d.getUTCDate()
        var year = d.getUTCFullYear()
        return year + '/' + month + '/' + day
    }
});

参考:https://sapui5.netweaver.ondemand.com/#/topic/07e4b920f5734fd78fdaa236f26236d8