If e.DataCol.name="开始时间" Or e.DataCol.name = "结束时间" Then
Dim trd As DataRow = e.DataRow
If trd.Isnull("结束时间") OrElse trd.Isnull("开始时间")
trd("间隔天")= Nothing
Else
Dim t As TimeSpan
t= trd("结束时间")-trd("开始时间")
trd("间隔天")=t.days
End If
End If
1、重要的错误是 你定义了trd为DataRow,可是没有赋值,我更改了 Dim trd As DataRow = e.DataRow
2、重要的不足是
2.1 你没有考虑“间隔天”的变化原因是由“结束时间”和“开始时间”这两个因素,我更改了代码If e.DataCol.name="开始时间" Or e.DataCol.name = "结束时间" Then
2.2你没有考虑“结束时间”、“开始时间”可能为空的情况,我增加了代码 If trd.Isnull("结束时间") OrElse trd.Isnull("开始时间")