以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]请教快捷菜单(右键菜单)问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=126749) |
-- 作者:tkxffb -- 发布时间:2018/10/28 9:34:00 -- [求助]请教快捷菜单(右键菜单)问题 各位老师,正在做一个人事管理项目,在职人员和离职人员的信息都在同一个“人员信息表”上,通过判断“任职状态”列是“在职”或“离职”,用按钮分别实现在职或离职人员的显示或隐藏。我的问题是,在设计右键快捷菜单时,怎么根据“在职”或“离职”使右键显示不同的快捷菜单。下面是我在表事件BeforeShowContextMenu中写的代码,但是不能用,请问该怎么写,请指教 If DataTables(" 人员信息表").datacols("任职状态") = "在职" e.ContextMenu = ContextMenus("在职右键菜单") Else e.ContextMenu = ContextMenus("离职右键菜单") End If |
-- 作者:y2287958 -- 发布时间:2018/10/28 9:47:00 -- If e.Table.Current("任职状态") = "在职" e.ContextMenu = ContextMenus("在职右键菜单") Else e.ContextMenu = ContextMenus("离职右键菜单") End If
|
-- 作者:tkxffb -- 发布时间:2018/10/28 9:54:00 -- 问题解决了,感谢y2287958老师!点赞 |
-- 作者:tkxffb -- 发布时间:2018/10/28 10:16:00 -- y2287958老师,抱歉,又有一个问题,在人员信息表为空时,单击右键会报错,我加了下面的判断,可是仍然报错 If e.Table.Current("任职状态") = "在职" \'----如果任职状态列内容为在职 If Tables("人员信息表").Rows.Count = 0 Then \'---如果是空表 Else e.ContextMenu = ContextMenus("在职右键菜单") \'---显示在职右键菜单 End If Else If Tables("人员信息表").Rows.Count = 0 Then \'---如果是空表 Else e.ContextMenu = ContextMenus("离职右键菜单") End If End If [此贴子已经被作者于2018/10/28 10:16:38编辑过]
|
-- 作者:tkxffb -- 发布时间:2018/10/28 10:31:00 -- 问题解决了,把上面的代码调整了一下: If Tables("人员信息表").Rows.Count = 0 Then \'---如果是空表 msgbox("空表不能使用右键菜单!") \'---给出一个提示 Else If e.Table.Current("任职状态") = "在职" \'----如果任职状态列内容为在职 e.ContextMenu = ContextMenus("在职右键菜单") \'---显示在职右键菜单 Else e.ContextMenu = ContextMenus("离职右键菜单") End If End If |
-- 作者:y2287958 -- 发布时间:2018/10/28 10:52:00 -- If e.Table.Current IsNot Nothing If e.Table.Current("任职状态") = "在职" e.ContextMenu = ContextMenus("在职右键菜单") Else e.ContextMenu = ContextMenus("离职右键菜单") End If End If
|
-- 作者:tkxffb -- 发布时间:2018/10/28 11:42:00 -- 还是y2287958老师的代码简洁好用,谢谢指教! [此贴子已经被作者于2018/10/28 11:42:38编辑过]
|