如考虑一日内有多笔出入库(同日出入单号相同),这样可能更好些:
Dim dt1,dt2 As fxDataSource
Dim dts As fxDataSource() ={dt1,dt2}
Dim v1 As String() = {"入库","出库"}
Dim g As GroupTableBuilder
Dim s1,s2 As String
Dim n1 As Integer
For Each s1 In v1
g =new GroupTableBuilder("查询",DataTables(s1 & "表"))
g.Groups.AddDef(s1 & "日期",DateGroupEnum.None,"日期") '添加客户列用于分组
g.Groups.AddDef(s1 & "单号") '添加产品列用于分组
g.Totals.AddDef("数量",s1 & "数量") '添加数量列用于统计
If n1= v1.length-1 Then g.Totals.AddDef("数量","结余")
dts(n1) = g.BuildDataSource()
n1+=1
Next
s2 = "日期"
dts(0).Combine(s2,dts(1),s2)
dts(0).show("查询")
Dim t1 As Table =Tables("查询")
t1.StopRedraw
t1.sort = s2
For Each r As Row In t1.Rows
If r.Index= 0 Then
r("结余") = r("入库数量")-r("出库数量")
Else
r("结余") =t1(r.Index-1,"结余")+ r("入库数量")-r("出库数量")
End If
Next
t1.ResumeRedraw
MainTable = Tables("查询")