以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  倒计时问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172739)

--  作者:15666282205
--  发布时间:2021/10/28 15:57:00
--  倒计时问题
老师,我想实现以下功能:表的一列是“到期时间”,另一列是“倒计时”,如何实现打开表自动显示倒计时多少天呢?我从论坛搜到了下面的代码,我的要求可能和这个类似,但是我不知道这个代码放在哪里,麻烦您给完善一下。
            Dim tp As TimeSpan = CDate(dr("到期时间"))-Date.today
            If dr.IsNull("到期时间") Then
                e.text = Nothing
            Else
                e.text = tp.TotalDays
            End If

--  作者:有点蓝
--  发布时间:2021/10/28 16:04:00
--  
这个是放到drawcell事件的
--  作者:15666282205
--  发布时间:2021/10/28 17:10:00
--  
要在“倒计时”这一列显示剩余天数,麻烦您给完善一下。
--  作者:有点蓝
--  发布时间:2021/10/28 17:12:00
--  
if e.col.name = "倒计时" then
            Dim tp As TimeSpan = CDate(dr("到期时间"))-Date.today
            If dr.IsNull("到期时间") Then
                e.text = Nothing
            Else
                e.text = tp.TotalDays
            End If
end if

--  作者:15666282205
--  发布时间:2021/10/29 7:49:00
--  
老师,我把以上代码复制到表的drawcell事件中,提示以下错误:
编译错误:“dr” is not declared.It may inaccessible due to its protection level. 
 错误代码:Dim tp As TimeSpan = CDate(dr("复审日期"))-Date.today
以下是我的代码,请您帮忙看看。
If e.Col.name = "复审天数" Then
    Dim tp As TimeSpan = CDate(dr("复审日期"))-Date.today
    If dr.IsNull("复审日期") Then
        e.text = Nothing
    Else
        e.text = tp.TotalDays
    End If
End If

--  作者:有点蓝
--  发布时间:2021/10/29 9:24:00
--  
If e.Col.name = "复审天数" Then
    If e.row.IsNull("复审日期") Then
        e.text = Nothing
    Else
        e.text = (CDate(e.row("复审日期"))-Date.today).TotalDays
    End If
End If

--  作者:15666282205
--  发布时间:2021/10/29 15:51:00
--  
好了,老师,谢谢