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


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

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

美女呀,离线,留言给我吧!
cherryjing
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106745 积分:542926 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/31 20:09:00 [只看该作者]

以下是引用cherryjing在2022/10/31 18:05:00的发言:
Tables("Form_Stastistics_tbl_Stastistics").DataSource从DataTables("统计表1")变成g.BuildDataSource()后,
发生的运行结果的变化,原因是什么?


Tables("Form_Stastistics_tbl_Stastistics").DataSource=DataTables("统计表1"),其实窗口表已经是一个新Table了,不会继承DataTables("统计表1")的汇总模式

使用g.BuildDataSource(),窗口表就是原统计表

 回到顶部
帅哥,在线噢!
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106745 积分:542926 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/31 20:10:00 [只看该作者]

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

到全局表事件处理:http://www.foxtable.com/webhelp/topics/0671.htm

 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2022/11/1 11:49:00 [只看该作者]

运行界面如下:

此主题相关图片如下:交叉统计表与棒图.png
按此在新窗口浏览图片
如图所示,当选中交叉统计表中某一行时,希望右侧棒图显示该行对应数据(棒图的横坐标希望显示电气、设备、自控这些专业名称),
在全局表事件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

输出结果为:
全局表事件CurrentChanged Form_Stastistics_tbl_Stastistics
全局表事件CurrentChanged 主项
全局表事件CurrentChanged 金额_1
全局表事件CurrentChanged 金额_1hp
全局表事件CurrentChanged 金额_2
全局表事件CurrentChanged 金额_2hp
全局表事件CurrentChanged 金额_3
全局表事件CurrentChanged 金额_3hp
全局表事件CurrentChanged 合计
列名中没有交叉统计表中第一行列名,即电气、设备、自控这些专业名称无法通过列名取得。请问老师如何获得交叉统计表中第一行列名?

 回到顶部
帅哥,在线噢!
有点蓝
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106745 积分:542926 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/1 11:53:00 [只看该作者]

统计表看到的是标题名称,上面代码获取的列名是没有任何问题的

For Each cl As Col In e.Table.Cols '遍历列
    Output.show("全局表事件CurrentChanged " & e.Table.Cols(i).Name & “,” & e.Table.Cols(i).caption)
Next
[此贴子已经被作者于2022/11/1 11:53:47编辑过]

 回到顶部
总数 17 上一页 1 2