以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何在TotalOn表达多个Totals.AddDef列名 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73058) |
|
-- 作者:乡里出城 -- 发布时间:2015/8/11 16:26:00 -- [求助]如何在TotalOn表达多个Totals.AddDef列名 如: 在Dim g1 As New CrossTableBuilder("统计表1", DataTables("订单")) g1.VGroups.AddDef("雇员") g1.Totals.AddDef("金额") \'这个两个代码在新的统计表1中生成很多列,列(以雇员为列标题,根据雇员的数量分别生成对应的金额_1,金额_2,金额_3,金额_4,金额_5,.........生成了很多列) Dim t As Table = Tables("统计表1") Dim g As Subtotalgroup t.StopRedraw() t.SubtotalGroups.Clear() t.GroupAboveData = True t.TreeVisible = True t.SpillNode = True g = New Subtotalgroup g.Aggregate = AggregateEnum.Sum g.GroupOn = "产品" g.TotalOn = "金额_1,金额_2,金额_3,金额_4,金额_5" \'然后在统计这里,TotalOn = “ 这里是否只能指定列名,如左边,现在能否用一个赋值来代才替,因为不知道会有多金额_1,金额_2,金额_?......不知道会有多少列” g.Caption = "{0} 小计" t.SubtotalGroups.Add(g) 谢谢
[此贴子已经被作者于2015/8/11 16:27:04编辑过]
|
|
-- 作者:大红袍 -- 发布时间:2015/8/11 16:31:00 -- Dim str As String = "" For Each c As Col In Tables("统计表1").cols If c.Name Like "*金额*" Then str &= c.name & "," End If Next msgbox(str.trim(",")) |
|
-- 作者:乡里出城 -- 发布时间:2015/8/11 16:39:00 -- Dim g1 As New CrossTableBuilder("统计表1", DataTables("订单")) g1.HGroups.AddDef("客户") g1.HGroups.AddDef("产品") g1.VGroups.AddDef("雇员") g1.Totals.AddDef("金额") g1.VerticalTotal = True g1.HorizontalTotal = True g1.OrderByTotal = e.Form.Controls("CheckBox1").Checked g1.Build() Tables("统计表1").AutoSizeCols(10) MainTable = Tables("统计表1") Forms("返回").OpenTo("统计表1") Forms("返回").Controls("TextBox1").Value = "提示: 不同客户订购各种产品的数量和金额。" MainTable.Focus() \'\'\'
Dim t As Table = Tables("统计表1") Dim g As Subtotalgroup t.StopRedraw() t.SubtotalGroups.Clear() t.GroupAboveData = True t.TreeVisible = True t.SpillNode = True g = New Subtotalgroup g.Aggregate = AggregateEnum.Sum g.GroupOn = "产品" g.TotalOn = str.trim(",") g.Caption = "{0} 小计" t.SubtotalGroups.Add(g) g = New Subtotalgroup g.Aggregate = AggregateEnum.Sum g.GroupOn = "*" g.TotalOn = str.trim(",") g.Caption = "总计" t.SubtotalGroups.Add(g) t.Subtotal() t.Grid.Tree.Show(1) t.Grid.Tree.Show(0) t.Grid.Rows(2).Node.Expanded = True t.Grid.Rows(3).Node.Expanded = True t.ResumeRedraw() 以上是原码,大红袍,我把你写的那行代码表述进去
[此贴子已经被作者于2015/8/11 17:14:31编辑过]
|
|
-- 作者:乡里出城 -- 发布时间:2015/8/13 11:39:00 -- 结果合计的最后倒数第二列产品是没有数的 |
|
-- 作者:大红袍 -- 发布时间:2015/8/13 11:50:00 -- 我测试显示正确啊,是不是合计列没有计算?你要加什么都可以啊
Dim str As String = "" |