For Each r As Row In Tables("订单").GetCheckedRows
If r.IsNull("订单编号") = False
Dim Filter = "[订单编号] = '" & r("订单编号") & "'"
Dim dr As DataRow = DataTables("配载订单").sqlFind(filter)
我想在这加另外一条提交前的条件,类似于
Dim Filter = "[项目] = '" & r("项目") & "'"
Dim dr As DataRow = DataTables("项目信息").sqlFind(filter)
意思是"订单"的项目必须是表"项目信息"里有的并且"配载订单"的订单编号没有重复的才能提交到"配载订单"
然后满足这些条件的订单提交后隐藏(但可以刷新重新显示) 是为了可以快速分清不满足条件的行 好做其他操作
If dr Is Nothing Then
ls.Add(r)
count += 1
Else
dic.add(dr, r)
End If
End If
Next
Dim p As WinForm.ProgressBar
p = e.Form.Controls("ProgressBar1")
If ls.count > 0 Then
p.Visible = True
p.Maximum = ls.Count - 1 '设置最大值
p.Minimum = 0 '设置最小值
p.Value = 0 '设置当前值
End If
Dim idx As Integer = 0
DataTables("订单").StopRedraw
For Each r As Row In ls
Dim dr As DataRow = DataTables("配载订单").AddNew
For i As Integer = 0 To Cols1.Length -1
If r.IsNull(Cols1(i)) Then
dr(Cols2(i)) = Nothing
Else
dr(Cols2(i)) = r(Cols1(i))
End If
Next
idx += 1
p.Value = idx
Next
For Each key As DataRow In dic.Keys
Dim r As Row = dic(key)
Dim dr As DataRow = key
For i As Integer = 0 To Cols1.Length -1
If r.IsNull(Cols1(i)) Then
dr(Cols2(i)) = Nothing
Else
dr(Cols2(i)) = r(Cols1(i))
End If
Next
Next
烦请版主帮忙看看 想达到的功能参杂在代码中 望见谅