如何根据时间为 table 中的一行着色?
How to color a row in table depending on time?
我正在创建一个应用程序来帮助我们的员工管理任务。任务通过表单提交。 OnBeforeCreate 我正在记录任务提交日期:
record.Data_Zlozenia = new Date();
该任务进入区域(table 小部件)的视图,员工可以从那里拿起它。
提交的任务有 48 小时的截止日期。
问题:如何给超过截止日期的任务行着色?
我知道我可以通过在样式编辑器中添加 class 来为行着色,然后在行上添加 "Display" 样式绑定。但是我不知道如何让它依赖于时间。
`.red {
background-color: red;
}
@widget.descendants.Field3.text === "Oczekujący - zwrot" ? ['red','app-ListTableRow','hoverAncestor'] : ['app-ListTableRow','hoverAncestor']`
编辑 1:在这里,我给你截图了它的外观和我的尝试。
CSS
Bindings
编辑 2:在@Markus 的帮助下,我找到了解决方案。我应该这样绑定:
(@datasource.item.Data_Zlozenia)/3600000 < ((new Date())/3600000 - 48) ? ['red','app-ListTableRow','hoverAncestor'] : ['app-ListTableRow','hoverAncestor']
这是未经测试的,但我会在您的行样式绑定中尝试以下操作:
setInterval(function() {(new Date() - @widget.datasource.item.Data_Zlozenia)/3600000;}, 60000) > 48 ? ['red','app-ListTableRow','hoverAncestor'] : ['app-ListTableRow','hoverAncestor']
假设地说,这将使用当前 Date/Time 减去您的字段 Date/Time 并将其除以 360 万(JS 日期减去日期将 return 毫秒,因此将其转换为小时你必须转换为小时)并且它会每分钟(60000 毫秒)重复这个函数。如前所述,这是未经测试的,因此您可能需要稍微改进一下
我正在创建一个应用程序来帮助我们的员工管理任务。任务通过表单提交。 OnBeforeCreate 我正在记录任务提交日期:
record.Data_Zlozenia = new Date();
该任务进入区域(table 小部件)的视图,员工可以从那里拿起它。
提交的任务有 48 小时的截止日期。
问题:如何给超过截止日期的任务行着色?
我知道我可以通过在样式编辑器中添加 class 来为行着色,然后在行上添加 "Display" 样式绑定。但是我不知道如何让它依赖于时间。
`.red {
background-color: red;
}
@widget.descendants.Field3.text === "Oczekujący - zwrot" ? ['red','app-ListTableRow','hoverAncestor'] : ['app-ListTableRow','hoverAncestor']`
编辑 1:在这里,我给你截图了它的外观和我的尝试。 CSS Bindings
编辑 2:在@Markus 的帮助下,我找到了解决方案。我应该这样绑定:
(@datasource.item.Data_Zlozenia)/3600000 < ((new Date())/3600000 - 48) ? ['red','app-ListTableRow','hoverAncestor'] : ['app-ListTableRow','hoverAncestor']
这是未经测试的,但我会在您的行样式绑定中尝试以下操作:
setInterval(function() {(new Date() - @widget.datasource.item.Data_Zlozenia)/3600000;}, 60000) > 48 ? ['red','app-ListTableRow','hoverAncestor'] : ['app-ListTableRow','hoverAncestor']
假设地说,这将使用当前 Date/Time 减去您的字段 Date/Time 并将其除以 360 万(JS 日期减去日期将 return 毫秒,因此将其转换为小时你必须转换为小时)并且它会每分钟(60000 毫秒)重复这个函数。如前所述,这是未经测试的,因此您可能需要稍微改进一下