以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  在线等:组合统计结果显示,如何能让后续增加的表达式列移动到前面  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=26420)

--  作者:sunfu
--  发布时间:2012/12/3 22:58:00
--  在线等:组合统计结果显示,如何能让后续增加的表达式列移动到前面
在设计一个进销存系统,里面有到了组合多个统计结果功能,后续增加的几个表达式列想移动到适当位置显示,但不知道怎么做,请求大家帮助。


代码如下:  Dim bd4 As New GroupTableBuilder("统计表4",DataTables("商品编码表"))
                Dim dt4  As fxDataSource
                bd4.Groups.AddDef("商品编码") \'根据型号分组
                bd4.Groups.AddDef("商品名称")
                
                bd4.Groups.AddDef("商品单价1")
                bd4.Groups.AddDef("包装方式")
                bd4.Groups.AddDef("一级类别")
                
                bd4.Groups.AddDef("二级类别")
                dt4 = bd4.BuildDataSource()
                
                Dim bd2 As New GroupTableBuilder("统计表2",DataTables("盘点明细表"))
                Dim dt2  As fxDataSource
                bd2.filter="[盘点日期]= #" & Cstr(qcrq) & "#"
                bd2.Groups.AddDef("商品编码") \'根据型号分组
                \'bd2.Groups.AddDef("商品名称")
                bd2.Totals.AddDef("盘存数量","期初_数量") \'对数量进行统计
                dt2 = bd2.BuildDataSource()
                
                
                Dim bd1 As New GroupTableBuilder("统计表1",DataTables("进货明细表"))
                Dim dt1 As fxDataSource
                bd1.filter="[进货日期]>= #" & Cstr(comb_list_date1.value) & "#  And [进货日期]<= # "& cstr(comb_list_date2.value) &"#"
                bd1.Groups.AddDef("商品编码") \'根据型号分组
                \'bd1.Groups.AddDef("商品名称")
                bd1.Totals.AddDef("进货数量","进货_数量") \'对数量进行统计
                dt1 = bd1.BuildDataSource()
                
                
                Dim bd3 As New GroupTableBuilder("统计表3",DataTables("盘点明细表"))
                Dim dt3 As fxDataSource
                bd3.filter="[盘点日期]= #" & Cstr(comb_list_date2.value) & "#"
                bd3.Groups.AddDef("商品编码") \'根据型号分组
                \'bd3.Groups.AddDef("商品名称")
                bd3.Totals.AddDef("盘存数量","期末_数量") \'对数量进行统计
                dt3 = bd3.BuildDataSource()
                
                dt4.Combine("商品编码",dt2,"商品编码") \'将销售统计数据组合到进货统计数据
                dt4.Combine("商品编码",dt1,"商品编码") \'将退货统计数据组合到进货统计数据
                dt4.Combine("商品编码",dt3,"商品编码") \'将销售统计数据组合到进货统计数据
                
                Tables("进销存报表_Table1").DataSource = dt4 \'将统计结果绑定到Table
                DataTables("进销存报表_Table1").DeleteFor("期初_数量 is null and 进货_数量 is null and 期末_数量 is null")
                
                With DataTables("进销存报表_Table1").DataCols  \'用表达式列计算库存数据
                    .Add("销售_数量",Gettype(Single), "IsNull([期初_数量],0) + ISNULL([进货_数量],0) - ISNULL([期末_数量],0)")                  
                    .Add("销售_金额",Gettype(Single), "IsNull([销售_数量],0)*[商品单价1]")
                    .Add("期初_金额",Gettype(Single), "IsNull([期初_数量],0)*[商品单价1]")
                    .Add("期末_金额",Gettype(Single), "IsNull([期末_数量],0)*[商品单价1]")
                End With


红色部分就是增加的表达式列,但不能移动上去,好难看啊


--  作者:sloyy
--  发布时间:2012/12/3 23:24:00
--  

Move

移动列到指定位置。

语法

Move(NewIndex)

NewIndex:新的位置

例如将日期列移到第一列位置:

Tables("订单").Cols("日期").Move(0)


--  作者:sgs
--  发布时间:2012/12/4 6:35:00
--  
二楼正解