Timer powerbuilder的倒计时计时器

Timer powerbuilder的倒计时计时器,timer,countdowntimer,powerbuilder,Timer,Countdowntimer,Powerbuilder,我有一个3列的数据窗口。我想以某种方式通知用户,列的值从今天起5天内可用。就像倒计时一样。在这5天之后,该列将采用默认值。可能吗 使用数据窗口表达式 它们可以通过datawindow painter使用,并允许对显示器进行非常精细的控制,而无需编程。更具体地说,在本例中,我假设您有一列“expiry”来指定可用性的最长期限。 在datawindow painter中,单击要为其执行操作的列。在“背景”选项卡中,将 Gradient: horizontal Color: Red Spread:

我有一个3列的数据窗口。我想以某种方式通知用户,列的值从今天起5天内可用。就像倒计时一样。在这5天之后,该列将采用默认值。可能吗

使用数据窗口表达式

它们可以通过datawindow painter使用,并允许对显示器进行非常精细的控制,而无需编程。更具体地说,在本例中,我假设您有一列“expiry”来指定可用性的最长期限。 在datawindow painter中,单击要为其执行操作的列。在“背景”选项卡中,将

Gradient: horizontal 
Color: Red 
Spread: expression (see the little box on the right?)
“spread”的值可以从0到100,因此根据剩余天数计算一个从0到100的表达式:

100-((5-if(到期日后,今天)<5,到期日后(到期日,今天()),5))*20)

这样,“红色”背景颜色将根据剩余天数或多或少地扩散

其他可能性:使用“工具提示”选项卡,启用工具提示(第一个字段)并将其作为消息显示:
'You have'+string(daysafter(expiry,today())+'days left to modify this field'

每次鼠标在字段上移动时,都会显示一条消息(带行的变量)


一旦你掌握了窍门,你就可以利用这些数据窗口表达式来玩游戏并有自己的想法。

现在还不清楚你想达到什么目的。“今天”的价值永远不会改变,所以关于“5天后”的评论也不清楚。但似乎你需要编写一些代码来做“一些事情”填充数据窗口后。如何操作以及操作取决于代码。可能需要在表中添加一列来标记开始此倒计时周期的日期。我选择了渐变解决方案。我现在的问题是,是否有可能从左向右而不是从右向左扩散颜色?谢谢(5-如果(到期日后,今天)<5,到期日后,今天()),5))*20