除剩余时限外,其余各列不能是表达式列,必须是数据列,然后将此表的DataColChanged事件代码设置为:
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
Case "受理时间"
If dr.Isnull("受理时间") Then
dr("障碍历时") = Nothing
ElseIf dr.Isnull("修复时间") = False Then
dr("障碍历时") = dr("修复时间") - dr("受理时间")
End If
Case "修复时间"
If dr.Isnull("修复时间") Then
dr("修复历时") = Nothing
dr("障碍历时") = Nothing
ElseIf dr.Isnull("派修时间") = False Then
dr("修复历时") = dr("修复时间") - dr("派修时间")
dr("障碍历时") = dr("修复时间") - dr("受理时间")
End If
Case "派修时间"
If dr.Isnull("派修时间") Then
dr("修复历时") = Nothing
ElseIf dr.Isnull("修复时间") = False Then
dr("修复历时") = dr("修复时间") - dr("派修时间")
End If
End Select