不完美, 这样的话 # 在列标题中就不显示了.还 有我的尺码中可能有 有 / 比如 170/80B ,110#/65
Dim dtb As New DataTableBuilder("输入")
Dim scs As List(of String) = DataTables("表A").GetUniqueValues("订单号 = '0001'","颜色")
Dim cms As List(of String) = DataTables("表A").GetUniqueValues("订单号 = '0001'","尺码")
dtb.AddDef("颜色", Gettype(String), 16)
Dim cs As String = ""
For Each cm As String In cms
dtb.AddDef("尺码" & cm.trim("#"), Gettype(Integer), 16)
If cm = "" Or cm Is Nothing Then cm="0"
cs += "isnull(" & "尺码" & cm.trim("#") & ",0,) +"
Next
cs = cs.Trim("+")
dtb.AddDef("合计", Gettype(Integer), cs)
Tables("窗口1_Table1").DataSource = dtb .BuildDataSource
For Each sc As String In scs
Dim rw As Row = Tables("窗口1_Table1").AddNew
Dim rs As List(of DataRow) = DataTables("表A").Select("颜色 = '" & sc & "' And 订单号 = '0001'")
rw("颜色") = sc
For Each r As DataRow In rs
rw("尺码" & r("尺码").trim("#")) = r("数量")
Next
Next
Tables("窗口1_Table1").AllowEdit = True
Dim t As Table = Tables("窗口1_Table1")
Dim ndr As Row = t.AddNew
ndr(0) = "合计"
For i As Integer = 1 To t.Cols.Count - 2
ndr(i) = t.Compute("sum(" & t.Cols(i).Name & ")")
Next