Dim cj As WinForm.ComboBox = e.Form.Controls("ComboBox1")
Dim dm As WinForm.ComboBox = e.Form.Controls("ComboBox2")
Dim dt As DataTable = DataTables("箱单数据")
Dim drs = dt.Select("款号 = '" & dm.Text & "'and 合同号 like '%" & cj.Text & "%'", "_sortkey")
Dim ggs = dt.GetValues("规格", "款号 = '" & dm.Text & "'and 合同号 like '%" & cj.Text & "%'", "_sortkey")
Dim dtb As New DataTableBuilder("临时箱单")
dtb.AddDef("合同号",Gettype(String),10)
dtb.AddDef("款号",Gettype(String),10)
dtb.AddDef("箱号",Gettype(String),10)
dtb.AddDef("颜色",Gettype(String),10)
For Each v As String In ggs
dtb.AddDef("规格_" & v , Gettype(Double))
Next
dtb.AddDef("箱数",Gettype(String),10)
dtb.AddDef("数量",Gettype(String),10)
dtb.Build()
Dim pdr As DataRow = Nothing
Dim xs As Double = 0
Dim xhs As String = ""
Dim sl As Double = 0
Dim pr As object = Nothing
For Each dr As DataRow In drs
If pdr Is Nothing OrElse pdr("规格") <> dr("规格") OrElse pdr("颜色") <> dr("颜色") OrElse pdr("数量") <> dr("数量")Then
If pr IsNot Nothing Then
pr("合同号") = cj.Text
pr("款号") = dm.Text
pr("箱号") = xhs.trim("-")
pr(pdr("规格")) = pdr("数量")
pr("箱数") = xs
pr("数量") = sl
Dim arr() As String = pr("箱号").split("-")
If arr.length > 2
pr("箱号") = arr(0) & "-" & arr(arr.length - 1)
End If
End If
Dim r As DataRow = DataTables("临时箱单").AddNew()
r("颜色") = dr("颜色")
xhs = dr("箱号")
xs = 1
sl = dr("数量")
pr = r
Else
xhs &= "-" & dr("箱号")
xs += 1
sl += dr("数量")
End If
pdr = dr
Next
If drs.count > 0
Dim dr = drs(drs.count - 1)
If pr IsNot Nothing Then
pr("合同号") = cj.Text
pr("款号") = dm.Text
pr("箱号") = xhs.trim("-")
pr(pdr("规格")) = dr("数量")
pr("箱数") = xs
pr("数量") = sl
End If
End If
MainTable = Tables("临时箱单")