任务二

我们希望在菜单中增加一个组合框,该组合框要具备两个功能:

1、自动显示当前列的名称
2、自动列出当前表所有的列名供选择定位。

如果某个数据表有很多列,那么这个功能是很实用的,因为可以快速定位到某一列,而无需左右滚动。

设计步骤

首先在实战演练功能区中增加一个功能组"任务二",在该功能组中增加一个组合框"ColList"。
然后设置该组合框的ChangeCommitted事件代码为:

Dim ColName As String = e.ComboBox.Text '获得组合框的内容
With
CurrentTable
   
If .Cols.Contains(ColName) Then '如果当前表包括输入名称的列
        .
Select(.RowSel, .Cols(ColName).Index) '那么选择该列。
   
End If
End
With

然后在系统事件CurrentTableChanged加入如下代码:

With RibbonTabs("实战演练")("任务二")("ColList")
    .Items.Clear
'清除原有项目
   
For Each c As Col In CurrentTable.Cols '遍历当前表中的列
        '定义一个标准按钮,按钮的名称等于列名称。
       
Dim b As New RibbonMenu.Button(c.Name)
        b.Text = c.Name
'按钮的标题也等于列名称
        .Items.Add(b)

    Next
End
With

最后在系统事件AfterSelChange加入如下代码:

RibbonTabs("实战演练")("任务二")("ColList").Text = CurrentTable.Cols(CurrentTable.Colsel).Name

完成上述工作后,切换一下表或者重新打开文件,本功能即可生效。
为什么要切换表? 很简单,因为更新组合框的代码在CurrentTableChanged事件中。


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