我在表格中显示数据集。如何修改其中一个数据单元的绑定以使用transformer或甚至binding expression?在属性编辑器中,我只能从列表中选择单个单元格的绑定,而不能在文本框中编辑它们。
具体来说,我需要在特定时区中仅显示DateTime的时间部分,并且可能(不确定)也会使DateTimes看起来不同,如果它们不是今天但是,比如说,明天。
答案 0 :(得分:2)
格式化日期以仅显示时间:
@datasource.item.DateTime#formatDate('HH:mm:ss') // format: 13:30:30
对于时区问题,您不能只使用用户拥有的时区,这应该是App Maker的默认值吗?使用此格式在日期字段中查看时区:
@datasource.item.DateTime#formatDate('HH:mm:ss, zzzz') // format: 13:30:30, UTC+3
(此处有更多格式选项:http://www.gwtproject.org/javadoc/latest/com/google/gwt/i18n/client/DateTimeFormat.html)
对于不同日期的不同样式,我会使用日期字段样式的绑定表达式:
getDateStyles(@widget)
其中getDateStyles类似于:
function getDateStyles(widget) {
var dateValue = widget.datasource.item.DateTime;
var today = new Date();
// setting the date to 00:00:00.00, don't know if there's a better way.
today.setHours(0);
today.setMinutes(0);
today.setSeconds(0);
today.setMilliseconds(0);
var tomorrow = today.addDays(1);
if (dateValue < tomorrow) {
return ["MyStyleForPreviousDays"];
}
else {
return ["MyStyleForFutureDays"];
}
}
我已经创建了addDays方法:
Date.prototype.addDays = function(days) {
var date = new Date(this.valueOf());
date.setDate(date.getDate() + days);
return date;
};
希望这能回答你的一些问题,我可能并不理解所有问题。