参考代码,细节自行调整
Dim dt1 As DataTable = DataTables("MRP报表")
Dim dtb As New DataTableBuilder("mrp统计表")
dtb.AddDef("成品代码", Gettype(String), 16)
dtb.AddDef("成品名称及规格", Gettype(String), 16)
Dim lbs As List(of String) = dt1.GetValues("子料类别")
For Each lb As String In lbs
Dim dms As List(of String) = dt1.getvalues("成品代码", "子料类别 = '" & lb & "'")
Dim max As Integer = 0
For Each dm As String In dms
Dim count As Integer = dt1.Compute("count(_Identify)", "成品代码 = '" & dm & "' and 子料类别 = '" & lb & "'")
If count > max Then max = count
Next
For i As Integer = 1 To max
Dim name As String = lb & "_" & lb & i
dtb.AddDef(name & "_子料代码", Gettype(String))
dtb.AddDef(name & "_子料名称", Gettype(String))
dtb.AddDef(name & "_库存", Gettype(String))
dtb.AddDef(name & "_在途采购", Gettype(String))
Next
Next
dtb.Build()
Dim dt2 As Table = Tables("mrp统计表")
For Each dm As String() In dt1.GetValues("成品代码|成品名称及规格")
Dim nr As Row = dt2.AddNew
nr("成品代码") = dm(0)
nr("成品名称及规格") = dm(1)
Next
MainTable= dt2
http://www.foxtable.com/webhelp/scr/2394.htm