任务十

下拉菜单根据条件显示不同项目。

大家肯定用过系统菜单中的筛选功能,这个按钮很智能,能够根据当前列的数据类型以及当前单元格的内容自动显示最合适的筛选项目。
要实现这样的功能很容易,我们通过一个最简单的例子来实际操作一下:

首先新增一个菜单按钮,给菜单按钮的项目集合中加上四个标准按钮,分别是:

名称 标题
Equal 等于
String 字符筛选
Numeric 数值筛选
Date 日期筛选

然后给菜单按钮的MouseEnter事件设置如下代码:

Dim m As RibbonMenu.MenuButton = e.MenuButton
Dim
t As Table = CurrentTable
If
t.Current Is Nothing Then
    Return
End
If
If
t.Current.IsNull(t.ColSel) Then
    m.Items(
"Equal").Text = "等于空白"
Else

    m.Items(
"Equal").Text = "等于" & t.Text
End
If
m.Items(
"String").Visible = t.Cols(t.Colsel).IsString
m.Items(
"Numeric").Visible = t.Cols(t.Colsel).IsNumeric
m.Items(
"Date"
).Visible = t.Cols(t.Colsel).IsDate

经过上述设置,Equal按钮会自动根据单元格内容调整标题,而String按钮只有在当前列是字符型的时候才显示,Numeric按钮只有在当前列是数值型的时候显示,Date当然是当前列是日期型的时候才显示。


本页地址:http://www.foxtable.com/webhelp/topics/1142.htm