以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 日期计算天数的问题求助? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93257) |
||||
-- 作者:zsslly -- 发布时间:2016/11/23 23:23:00 -- 日期计算天数的问题求助?
如案例,如图:
表中有“购买日期”、“状态”、“结束日期”、“截止到今天的日数”四个列,我想实现从“购买日期”开始计算到今天的天数,代码如下: Select Case e.DataCol.name Case "购买日期" If e.DataRow.IsNull("购买日期") Then e.DataRow("截止到今天的日数") = Nothing Else Dim tp As TimeSpan = Date .today - CDate(e.DataRow("购买日期")) e.DataRow("截止到今天的日数") = Math.Round(tp.TotalDays ) End If End Select 这样可以的,但事情总有结束的时间,当“状态”列中选择结束,并在“结束日期”中选择日期,此时“截止到今天的日数”就计算到“结束日期”,“截止到今天的日数”列刷新不变,代码应该怎么改?求老师大侠指点? [此贴子已经被作者于2016/11/23 23:23:33编辑过]
|
||||
-- 作者:zsslly -- 发布时间:2016/11/23 23:24:00 -- 如图 此主题相关图片如下:qq截图20161123231420.jpg |
||||
-- 作者:有点蓝 -- 发布时间:2016/11/24 8:39:00 -- Select Case e.DataCol.name Case "购买日期","状态","结束日期" If e.DataRow.IsNull("购买日期") Then e.DataRow("截止到今天的日数") = Nothing Else Dim Enddate As Date = Date.today If e.DataRow("状态") = "结束" AndAlso e.DataRow.IsNull("结束日期") =False Then Enddate = e.DataRow("结束日期") Dim tp As TimeSpan = Enddate - CDate(e.DataRow("购买日期")) e.DataRow("截止到今天的日数") = Math.Round(tp.TotalDays ) End If End Select
|