以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  列类型为time,怎样分组统计时长?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=89557)

--  作者:大红袍
--  发布时间:2016/8/24 14:26:00
--  

 日期时间类型,不能统计。你要多加一列,得到时长

 

If e.DataCol.Name = "时间" Then

    e.DataRow("秒") = e.NewValue.Hour * 3600 + e.NewValue.Minute * 60

End If


--  作者:大红袍
--  发布时间:2016/8/24 14:37:00
--  

 加一列,计算两列差值,然后直接统计那一列,DataColChanged事件

 

Select Case e.DataCol.Name
    Case
"开始日期",
"完成日期"
       
Dim dr As DataRow = e.DataRow
       
If dr.IsNull("开始日期") OrElse dr.IsNull("完成日期") Then
            dr(
"执行天数") = Nothing
       
Else
           
Dim tp As TimeSpan = dr("完成日期") - dr("开始日期")
            dr(
"执行天数") = tp.TotalDays
        End
If
End
Select