以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]在当前行中,针对不同的单元格,如何设置不同的快捷菜单?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=173162)

--  作者:wangjh8888
--  发布时间:2021/11/17 9:59:00
--  [求助]在当前行中,针对不同的单元格,如何设置不同的快捷菜单?
老师 好
下面代码可以对不同状态的行设置不同的快捷菜单

假定定义了两个快捷菜单,“菜单A”和“菜单B”,分别针对订单表中已经锁定和没有锁定的行,代码如下:

If e.Table.Current Is Nothing Then \'当前是Nothing
    e.Cancel =
True \'不显示快捷菜单
ElseIf
e.Table.Current.Locked = True Then \'当前行被锁定
    e.ContextMenu = ContextMenus(
"菜单A") \'显示快捷菜单"菜单A"
Else
\'否则
    e.ContextMenu = ContextMenus(
"菜单B") \'显示快捷菜单"菜单B"
End
if


那么,在当前行中,针对不同的单元格,如何设置不同的快捷菜单?

或者如何获得当前单元格所在的列标题(字段)名称?


我的例子:

BeforeShowContextMenu表事件:

        Select Case e.HitType

            Case HitTypeEnum.Range

                e.ContextMenu = ContextMenus("快捷菜单1") 

            Case HitTypeEnum.Cell

                e.ContextMenu = ContextMenus("快捷菜单2") 

        End Select


想在不同列的单元格,设置不同的快捷菜单,代码应该怎么写?谢谢

[此贴子已经被作者于2021/11/17 10:11:03编辑过]

--  作者:有点蓝
--  发布时间:2021/11/17 10:17:00
--  
dim c as col  = e.table.cols(e.table.colsel)
dim r as row  = e.table.rows(e.table.rowsel)
if c.name = "消息列" then 判断列名

if r(c.name) = “xx值” then 判断当前单元格的值