Foxtable(狐表)用户栏目专家坐堂 → [求助]关于交叉统计汇总问题


  共有7054人关注过本帖树形打印复制链接

主题:[求助]关于交叉统计汇总问题

美女呀,离线,留言给我吧!
cherryjing
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
[求助]关于交叉统计汇总问题  发帖心情 Post By:2022/10/31 16:47:00 [显示全部帖子]

我在窗口内用单选按钮让用户选择交叉统计的行与列,用复选框来让用户切换是否汇总,代码如下:
Dim rdoUnit1 As WinForm.RadioButton = e.Form.Controls("rdo_UnitFirst")
Dim rdoUnit2 As WinForm.RadioButton = e.Form.Controls("rdo_UnitSecond")
Dim chkSummary As WinForm.CheckBox = e.Form.Controls("chk_Summary")

Dim i As Integer, n As Integer
Dim strSpe() As String
Dim strUnit() As String

Dim g As New CrossTableBuilder("统计表1", DataTables("设备材料表"))
If rdoUnit1.Checked Then
    g.HGroups.AddDef("主项")
    g.VGroups.AddDef("专业", "{0}_金额")
Else
    g.HGroups.AddDef("专业")
    g.VGroups.AddDef("主项", "{0}_金额")
End If

g.Totals.AddDef("金额", "金额")
g.HorizontalTotal = True
g.VerticalTotal = True
g.VerticalProportion = True
Output.Show(chkSummary.Checked)
If chkSummary.Checked = True Then
    g.Subtotal = True '生成汇总模式
    g.SubtotalLevel = 0 '只生成总计行
Else
    g.Subtotal = False '不生成汇总模式
End If 
g.Build()
Tables("Form_Stastistics_tbl_Stastistics").DataSource = DataTables("统计表1")
运行时发现,切换单选时没问题,而切换复选框时,结果相反,即选中时不汇总,不选中反而汇总

 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2022/10/31 16:51:00 [显示全部帖子]

上述代码在另一个button(btn_CreateChart)的click事件中,
而单选和复选按钮的CheckedChanged事件以及窗口的AfterLoad事件中代码均为:
e.Form.Controls("btn_CreateChart").performclick()

 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2022/10/31 17:19:00 [显示全部帖子]

上述代码在另一个button(btn_CreateChart)的click事件中

 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2022/10/31 17:36:00 [显示全部帖子]

附件上传看不到链接


 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2022/10/31 17:37:00 [显示全部帖子]

运行结果如下

图片点击可在新窗口打开查看此主题相关图片如下:汇总2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:汇总1.png
图片点击可在新窗口打开查看

 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2022/10/31 17:39:00 [显示全部帖子]

感觉合计列紊乱了图片点击可在新窗口打开查看

 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2022/10/31 17:58:00 [显示全部帖子]

好像我这里的汇总有点多余图片点击可在新窗口打开查看
[此贴子已经被作者于2022/10/31 18:09:21编辑过]

 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2022/10/31 18:05:00 [显示全部帖子]

Tables("Form_Stastistics_tbl_Stastistics").DataSource从DataTables("统计表1")变成g.BuildDataSource()后,
发生的运行结果的变化,原因是什么?



 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2022/10/31 18:07:00 [显示全部帖子]

另外,我想对“统计表1”进行事件响应,该怎么做?比如选择不同的行,生成该行数据对应的棒线图
[此贴子已经被作者于2022/10/31 18:07:46编辑过]

 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2022/10/31 20:26:00 [显示全部帖子]

感谢蓝老师!在全局表的currentChanged事件中添加如下代码:
Output.Clear()
If e.Table.Name <> "Form_Stastistics_tbl_Stastistics" Then
    Output.Show ("全局表事件CurrentChanged " & e.Table.Name)
    Return 
End If
If e.Table.Current Is Nothing Then
    Output.Show ("全局表事件CurrentChanged " & "e.Table.Current Is Nothing")
    Return
End If

For Each cl As Col In e.Table.Cols '遍历列
    Output.show("全局表事件CurrentChanged " & e.Table.Cols(i).Name)
Next
发现列名为: 金额_1,金额_1vp,金额_2,金额_2vp,...无法获得第一行列名,这样我无法为棒图的横坐标设置字符表示


[此贴子已经被作者于2022/10/31 21:24:53编辑过]

 回到顶部
总数 12 1 2 下一页