以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于快捷菜单显示问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57363) |
||||
-- 作者:jspta -- 发布时间:2014/9/23 15:38:00 -- [求助]关于快捷菜单显示问题 在cell-RowMean的Popup事件中加入以下,本意是有_SortKey或者_Locked列存在即显示菜单,但是实际过程中,无论有没有_Locked列都会显示,并且同步行灰色。在原始的系统菜单上修改的,是不是哪里还有代码控制了?以下代码可以如何修改? 表都是窗口表,肯定有很多是不包括_Locked列的 With e.CommandMenu Dim ssdt As System.Data.DataTable = CurrentTable.DataTable.BaseTable Dim bln As Boolean bln = ssdt.Columns.Contains("_SortKey") .Items("MoveUp").Visible = bln .Items("MoveDown").Visible = bln bln = ssdt.Columns.contains("_Locked") .Items("Lock").Visible = bln .Items("UnLock").Visible = bln .Items("Load").Visible = bln bln = False .Items("Add").Visible = bln .Items("Insert").Visible = bln .Items("Delete").Visible = bln .Items("Clone").Visible = bln \'.Items("Load").Visible = bln End With
[此贴子已经被作者于2014-9-23 16:18:54编辑过]
|
||||
-- 作者:Bin -- 发布时间:2014/9/23 15:49:00 -- 请上例子 |
||||
-- 作者:有点甜 -- 发布时间:2014/9/23 15:49:00 -- 测试了一下,控制有效。
单元格的,写在cell;最左边序号列的,写在row |
||||
-- 作者:jspta -- 发布时间:2014/9/23 16:20:00 -- 上传测试文件,表C删除了两个标志列,但还是在cell中显示 |
||||
-- 作者:有点甜 -- 发布时间:2014/9/23 16:23:00 -- 代码没有问题啊,控制正常 |
||||
-- 作者:jspta -- 发布时间:2014/9/23 16:31:00 -- 以下是引用有点甜在2014-9-23 16:23:00的发言: 代码没有问题啊,控制正常 。。。这不可能啊。难道是版本问题?我是2014.09.01的版本
你表C中的cell-row中显示的是没有功能吗? |
||||
-- 作者:有点甜 -- 发布时间:2014/9/23 16:48:00 -- 再测试了一下,无法从当前表 currentTable 获取得到,此表是否包含 _Locked 列,必须结合sql语句,查找列才知道是否存在。 |
||||
-- 作者:jspta -- 发布时间:2014/9/23 17:03:00 -- 以下是引用有点甜在2014-9-23 16:48:00的发言: 再测试了一下,无法从当前表 currentTable 获取得到,此表是否包含 _Locked 列,必须结合sql语句,查找列才知道是否存在。 这个找不到有点莫名其妙,如此简单的问题不想用SQL去查询。用CurrentTable.Grid也是判断不了,需要官方给个确实的答案,或者解决方案。这完全是个小问题额
[此贴子已经被作者于2014-9-23 17:03:59编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2014/9/23 17:33:00 -- 目前来说,想不到好的方法了,只能这样搞一下
Dim Builder As New ADOXBuilder msgbox("是否存在 : " & flag) |
||||
-- 作者:jspta -- 发布时间:2014/9/23 17:58:00 -- 甜版给反馈下呗。 还好最初在命名的时候留下规则,暂时可以应付下这个问题。不过还是希望能从根源解决
|