在“查询”按钮中的代码为:
Dim cb As WinForm.ComboBox = e.Form.Controls("ComboBox1")
Dim bd1 As New GroupTableBuilder("统计表1",DataTables("进货明细表"))
bd1.Filter ="[进货性质]='" & cb.value & "'"
Dim dt1 As fxDataSource
bd1.Groups.AddDef("物品名称") '根据型号分组
bd1.Groups.AddDef("货物规格")
bd1.Totals.AddDef("进货数量") '对数量进行统计
dt1 = bd1.BuildDataSource()
Dim bd2 As New GroupTableBuilder("统计表2",DataTables("领用明细表"))
bd2.Filter ="[领用性质]='" & cb.value & "'"
Dim dt2 As fxDataSource
bd2.Groups.AddDef("物品名称") '根据型号分组
bd2.Groups.AddDef("货物规格")
bd2.Totals.AddDef("领用数量") '对数量进行统计
dt2 = bd2.BuildDataSource()
Dim nms As String() = {"物品名称","货物规格"} '指定连接列
dt1.Combine(nms,dt2,nms) '将销售统计数据组合到进货统计数据
Tables("库存查询_Table1").DataSource = dt1 '将统计结果绑定到Table
With DataTables("库存查询_Table1").DataCols '用表达式列计算库存数据
.Add("库存数量",Gettype(Integer), "IsNull([进货数量],0) - ISNULL([领用数量],0) ")
End With
dt1.Show("统计表1")
Tables("库存查询_Table1").SetColVisibleWidth("物品名称|200|货物规格|100|进货数量|100|领用数量|100|库存数量")
执行后出现如下提示:
名为“统计表1”的 DataTable 已属于此 DataSet。另外设置字段列宽的代码没有效果
请问代码要如何修改?请指教,谢谢!!