Dim Cols1() As String = {"长度","宽度","厚度","编号","单个重量","编号"}
Dim Cols2() As String = {"长度","宽度","厚度","编号","单个重量","编号"}
Dim dt As DataTable = DataTables("分箱明细")
Dim xh As Integer = 1
Dim sy As Double = 500
For Each dr As DataRow In DataTables("产品数据").Select("[数量] > 0")
Dim count As Integer = dr("数量")
Do While count > 0
Dim ndr As DataRow = dt.AddNew
For i As Integer = 0 To Cols1.length-1
ndr(Cols2(i)) = dr(Cols1(i))
Next
If dr("单个重量") * count > sy Then '满一箱
ndr("箱号") = xh
ndr("数量") = Math.Floor(sy / dr("单个重量"))
count -= ndr("数量")
sy = 500
xh += 1
Else
ndr("箱号") = xh
ndr("数量") = count
sy -= ndr("数量") * dr("单个重量")
count -= ndr("数量")
End If
Loop
Next