以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 日期计算 (工期)报错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185750) |
-- 作者:yangze531 -- 发布时间:2023/3/14 17:05:00 -- 日期计算 (工期)报错 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2022.8.18.1 错误所在事件:表,日期计算,DataColChanged 详细错误信息: 调用的目标发生了异常。 从类型“Double”到类型“Date”的转换无效。 有报错提示框,但是内容是粘贴文本复制出来。 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 |
-- 作者:有点蓝 -- 发布时间:2023/3/14 17:09:00 -- 参考:http://www.foxtable.com/webhelp/topics/1517.htm Dim tp As TimeSpan =cdate( dr("结束时间")) - cdate(dr("开始时间"))
|
-- 作者:yangze531 -- 发布时间:2023/3/14 17:42:00 -- .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2022.8.18.1 错误所在事件:表,日期计算,DataColChanged 详细错误信息: 调用的目标发生了异常。 列“2023-03-18”不属于表 日期计算。 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 = CDate( dr("结束时间")) - CDate(dr("开始时间")) Dim tp As TimeSpan = CDate(CurrentTable.Current (dr("结束时间"))) - CDate(CurrentTable.Current (dr("开始时间"))) dr("工期") = tp.TotalDays End If End Select |
-- 作者:有点蓝 -- 发布时间:2023/3/14 20:13:00 -- 照抄2楼代码,看不懂就不要乱用 |
-- 作者:yangze531 -- 发布时间:2023/3/15 10:37:00 -- 没报错,但是也没计算工期 |
-- 作者:有点蓝 -- 发布时间:2023/3/15 10:52:00 -- 没有赋值啊,dr("工期") = tp.TotalDays呢,躲迷藏去了? |
-- 作者:yangze531 -- 发布时间:2023/3/15 11:03:00 -- |