任务九
在菜单中加上简单的交叉统计功能。
增加一个功能组"任务九",在该功能组中增加四个组件:
类型 |
名称 |
标题 |
大图标 |
组合框 |
HGroup |
水平分组 |
|
组合框 |
VGroup |
垂直分组 |
|
组合框 |
TotalOn |
统计列 |
|
标准按钮 |
Build |
统计 |
CrossTable32.ico |
分别给HGroup和VGroup两个组合框增加三个列表项目:产品、客户、雇员
给TotalOn组合框设置两个列表项目:数量、金额。
Build按钮的Click事件代码:
Dim
HGroup As String
Dim VGroup As
String
Dim TotalOn As
String
'获取输入内容
With RibbonTabs("实战演练二")("任务九")
HGroup = .Items("HGroup").Text
VGroup = .Items("VGroup").Text
TotalOn = .Items("TotalOn").Text
End With
With
Tables("订单").Cols
If HGroup >""
AndAlso .Contains(HGroup) Then
'如果已经输入有效水平分组
If VGroup >""
AndAlso .Contains(VGroup)
Then '如果已经输入有效垂直分组
If TotalOn >""
AndAlso .Contains(TotalOn)
Then '而且统计列有效
Dim b
As New CrossTableBuilder("统计表",DataTables("订单"))
b.HGroups.AddDef(HGroup) '添加水平分组
b.VGroups.AddDef(VGroup) '添加垂直分组
b.Totals.AddDef(TotalOn) '添加统计列
b.Build '生成统计表
MainTable =
Tables("统计表")
End
If
End
If
End
If
End
With
本次任务的设计效果:
分别选择水平分组、垂直分组、统计列,单击右侧统计按钮,即可自动生成一个交叉统计表。
其实完全可以做得更好一些,例如组合框自动列出当前表的列,而不是事先设定,可以选择统计类型以及日期列的分组模式等等。
只是本课的任务是学习菜单设计,所以全部用最简单的例子来说明,以免分散大家的注意力。
本页地址:http://www.foxtable.com/webhelp/topics/1141.htm