以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]剩余天数能否每天都在变化  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88759)

--  作者:hyr88
--  发布时间:2016/8/9 9:24:00
--  [求助]剩余天数能否每天都在变化
If e.DataCol.Name = "保质期" Then
   If e.DataRow.IsNull("保质期") Then
       e.DataRow("剩余天数") = Nothing
Else
Dim t As TimeSpan
t = CDate(CurrentTable.Current("保质期")) - Date.Today
e.DataRow("剩余天数") =  t.TotalDays
End If
End If
上述代码能计算出剩余天数,超过了还会变负数。

保质期肯定是一个未来固定的日期。
我想每天都能看到 今天 距离 未来的这个固定保质期 还剩余有多少天,一直到0停止。

谢谢!

--  作者:大红袍
--  发布时间:2016/8/9 9:47:00
--  
If e.DataCol.Name = "保质期" Then
    If e.DataRow.IsNull("保质期") Then
        e.DataRow("剩余天数") = Nothing
    Else
        Dim t As TimeSpan
        t = CDate(e.DataRow("保质期")) - Date.Today
        If t.TotalDays < 0 Then
            e.DataRow("剩余天数") = 0
        Else
            e.DataRow("剩余天数") =  t.TotalDays
        End If
    End If
End If

--  作者:hyr88
--  发布时间:2016/8/9 10:39:00
--  
谢谢。
我还有个想法是:
比如保质期是2016-9-1
当前日期是2016-8-9
剩余天数=23
----------------------
到了明天,当前日期是2016-8-10
那剩余天数=22
希望能动态变化。。。

谢谢!

--  作者:大红袍
--  发布时间:2016/8/9 10:41:00
--  

为了每次打开项目后,都能得到最新的工龄数据,可以在AfterOpenProject事件中,设置下面的代码:

 

DataTables("员工").DataCols("保质期").RaiseDataColChanged()