AfterOpenProject事件执行下面代码得到临时表
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.ConnectionName = "数据源名称"
cmd.CommandText = "SELECT * From {生产计划} where 1=2"
dt = cmd.ExecuteReader(True)
vars("生产计划") = dt
然后写
If e.DataCol.Name = "排产" Then
If e.DataRow("排产") = True Then
'Dim tr As DataRow =DataTables("销售明细").find("订单编号 ='" & e.DataRow("订单编号") & "'") '只能找到1条记录
Dim trs As List(Of DataRow) = DataTables("销售订单明细").Select("订单编号 ='" & e.DataRow("订单编号") & "'")
For Each tr As DataRow In trs
If tr IsNot Nothing Then
Dim nma() As String = {"订单编号","客户","产品分类","产品型号","产品规格","订单数量","交货日期","备注"} '销售明细表数据来源列
Dim nmb() As String = {"订单编号","客户","产品分类","产品型号","产品规格","订单数量","交货日期","生产要求"} '生产计划表数据接收列
Dim dr As DataRow = vars("生产计划").AddNew
For i As Integer = 0 To nma.Length - 1
dr(nmb(i)) = tr(nma(i))
Next
dr.save
End If
Next
Else
If e.DataRow("排产") = False Then
vars("生产计划").sqlDeleteFor("订单编号 = '" & e.DataRow("订单编号")& "'")
End If
End If
End If
[此贴子已经被作者于2017/7/13 11:29:59编辑过]