下面代码有错误的地方吗?为什么数据表一打开就锁定表了呢?
表时间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 + 1
End If
End Select
Select Case e.DataCol.name
Case "用车时间_上车时间","用车时间_下车时间"
Dim dr As DataRow = e.DataRow
If dr.IsNull("用车时间_上车时间") Or dr.IsNull("用车时间_下车时间") Then
dr("总工时") = Nothing
Else
Dim tp As TimeSpan
tp = dr("用车时间_下车时间") - dr("用车时间_上车时间")
dr("总工时") = tp.TotalSeconds()
End If
End Select
If e.DataCol.Name = "实际用车日期_起" Then
If e.DataRow.IsNull("实际用车日期_起") Then
e.DataRow("订单编号") = Nothing
Else
Dim bh As String = Format(e.DataRow("实际用车日期_起"),"yyyyMMdd")
If e.DataRow("订单编号").StartsWith(bh) = False
Dim max As String
Dim idx As Integer
max = e.DataTable.Compute("Max(订单编号)","实际用车日期_起 = #" & e.DataRow("实际用车日期_起") & "# And [_Identify] <> " & e.DataRow("_Identify"))
If max > "" Then
idx = CInt(max.Substring(9,3)) + 1
Else
idx = 1
End If
e.DataRow("订单编号") = bh & "-" & Format(idx,"000")
End If
End If
End If
If e.DataRow("锁定本行") <> Nothing Then
e.DataRow.Locked = False
Else
e.DataRow.Locked = True
End If