我想在更改流程序号后,开始判断这个流程是排前了还是排后了,然后自动的更改其他相关的流程序号再重新排序;于是我写了两个If语句来实现这样的功能,以下两个IF语句单独使用没有任何问题;但是如果把这两句IF放在一起就执行了死循环;原因我想跟dr("流程顺序") = dr("流程顺序")+1这句有关;怎么样才能让以下两个IF并存且不会出现死循环呢?
Select e.DataCol.Name
Case "流程顺序"
Dim n As Integer = e.NewValue
Dim o As Integer = e.OldValue
Dim s As String = e.DataRow("_sortkey")
If n < o Then
Dim drs As List (Of DataRow) = e.DataTable.Select("办单号 = '" & e.DataRow("办单号") & "' and 流程顺序 >= " & e.NewValue & " and 流程顺序 < " & e.OldValue & " and _sortkey <> '" & s & "'" )
For Each dr As DataRow In drs
dr("流程顺序") = dr("流程顺序")+1
'msgbox("小于旧值")
Next
End If
If n > o Then
Dim drs As List (Of DataRow) = e.DataTable.Select("办单号 = '" & e.DataRow("办单号") & "' and 流程顺序 <= " & e.NewValue & " and 流程顺序 > " & e.OldValue & " and _sortkey <> '" & s & "'")
For Each dr As DataRow In drs
dr("流程顺序") = dr("流程顺序")-1
'msgbox("大于旧值")
Next
End If
Tables("工序工艺流程表").Sort = "流程顺序"
DataTables("工序工艺流程表").Save
End Select