以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何动态显示菜单? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87156) |
-- 作者:shanshuizhujian -- 发布时间:2016/7/5 7:52:00 -- 如何动态显示菜单? 如果我一个表的字段存了如下内容:RibbonTabs("系统设置")("系统设置")("系统表") 我该如何用这个来显示菜单? /// 这个代码可以显示 Dim btn As RibbonMenu.Button /// /// 但是我实际是这样的,会出错,该如何修改? e.datarow("菜单名称")= RibbonTabs("系统设置")("系统设置")("系统表") Dim btn As RibbonMenu.Button /// |
-- 作者:Hyphen -- 发布时间:2016/7/5 9:07:00 -- http://www.foxtable.com/webhelp/scr/1487.htm Dim Code As String Code = "Dim btn As RibbonMenu.Button" & vbcrlf Code = Code & "btn = " & e.DataRow("菜单名称") & vbcrlf Code = Code & "btn.Enabled = False" & vbcrlf Code = Code & "Return True" Functions.Remove("SetButton") Functions.Add("SetButton",Code) Functions.Complie() 最好的方法是存储菜单的树结构,不是存储菜单变量,参考http://www.foxtable.com/webhelp/scr/2405.htm
|
-- 作者:大红袍 -- 发布时间:2016/7/5 9:17:00 -- 表,是无法存储对象的,只能存放字符,如果要存放,那个对象必须标记为可序列化的。
测试了一下,菜单没有弄成可序列化的。无法直接保存,和直接还原。你要用2楼的方法动态编译。 |
-- 作者:shanshuizhujian -- 发布时间:2016/7/5 9:56:00 -- 以下是引用Hyphen在2016/7/5 9:07:00的发言:
http://www.foxtable.com/webhelp/scr/1487.htm Dim Code As String Code = "Dim btn As RibbonMenu.Button" & vbcrlf Code = Code & "btn = " & e.DataRow("菜单名称") & vbcrlf Code = Code & "btn.Enabled = False" & vbcrlf Code = Code & "Return True" Functions.Remove("SetButton") Functions.Add("SetButton",Code) Functions.Complie() 最好的方法是存储菜单的树结构,不是存储菜单变量,参考http://www.foxtable.com/webhelp/scr/2405.htm /// 非常感谢,按照这个思路搞定了。
|
-- 作者:shanshuizhujian -- 发布时间:2016/7/5 9:57:00 -- 以下是引用大红袍在2016/7/5 9:17:00的发言: 嗯,我按照上面的试 了一下,可以了。
表,是无法存储对象的,只能存放字符,如果要存放,那个对象必须标记为可序列化的。
测试了一下,菜单没有弄成可序列化的。无法直接保存,和直接还原。你要用2楼的方法动态编译。 |