就是为了实现双击Tables("调度管理_table1")当前行后,找出DataTables("运单管理")后台数据中对应行号行的调度单号、车牌号等列替换为Tables("调度管理")当前行对应列的信息。其中Filter = "cr = '" DataTables("运单管理").SQLFind("[_Identify] = " & pr("_Identify") & ") ""动态表达式不会写了,请老师指导
全部代码如下,如有其他不合理的地方,请老师一并指出、指导
Dim dr As Row = Tables("调度管理").Current
Dim pr As Row = Tables("调度管理_table1").Current
Dim cr As DataRow
Dim Filter As String
Filter = "cr = '" DataTables("运单管理").SQLFind("[_Identify] = " & pr("_Identify") & ") ""(这句不会写了,老师指导一下)
If dr IsNot Nothing
If dr.IsNull("车牌号") OrElse dr.IsNull("驾驶员") OrElse dr.IsNull("调度动态") OrElse dr.IsNull("实际发车日期") Then
MessageBox.Show("蓝色字体不能为空,请填写完整后再选运单!")
Else
If pr("调度选定") = False Then
DataTables("运单管理").SQLReplaceFor("调度选定", 1,Filter)
DataTables("运单管理").SQLReplaceFor("调度单号", dr("调度单号"),Filter)
DataTables("运单管理").SQLReplaceFor("车牌号", dr("车牌号"),Filter)
DataTables("运单管理").SQLReplaceFor("驾驶员", dr("驾驶员"),Filter)
DataTables("运单管理").SQLReplaceFor("承运单位", dr("承运单位"),Filter)
DataTables("运单管理").SQLReplaceFor("车辆类型", dr("车辆类型"),Filter)
DataTables("运单管理").SQLReplaceFor("调度日期", dr("调度日期"),Filter)
DataTables("运单管理").SQLReplaceFor("实际发车日期", dr("实际发车日期"),Filter)
pr.Remove()
Tables("调度管理_table2").DataTable.LoadFilter = "调度单号 = '" & dr("调度单号") & "'"
Tables("调度管理_table2").DataTable.load()
Tables("调度管理").DataTable.DataCols("调度单号").RaiseDataColChanged((Tables("调度管理").Current.DataRow))
Else
MessageBox.Show("此运单已被其他调度单选定,无法进行二次调度,请核实后再进行选择!")
End If
End If
End If
[此贴子已经被作者于2020/10/18 18:30:52编辑过]