Foxtable(狐表)用户栏目专家坐堂 → 如何动态显示菜单?


  共有3274人关注过本帖树形打印复制链接

主题:如何动态显示菜单?

帅哥哟,离线,有人找我吗?
shanshuizhujian
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:221 积分:2195 威望:0 精华:0 注册:2011/12/14 9:56:00
如何动态显示菜单?  发帖心情 Post By:2016/7/5 7:52:00 [只看该作者]

如果我一个表的字段存了如下内容:RibbonTabs("系统设置")("系统设置")("系统表")
我该如何用这个来显示菜单?
/// 这个代码可以显示

Dim btn As RibbonMenu.Button
btn
RibbonTabs("系统设置")("系统设置")("系统表")
btn
.Enabled
= False

///



/// 但是我实际是这样的,会出错,该如何修改?
e.datarow("菜单名称")= RibbonTabs("系统设置")("系统设置")("系统表")

Dim btn As RibbonMenu.Button
btn
 = 
e.datarow("菜单名称")
btn
.Enabled
 = False

///



 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/5 9:17:00 [只看该作者]

表,是无法存储对象的,只能存放字符,如果要存放,那个对象必须标记为可序列化的。

 

测试了一下,菜单没有弄成可序列化的。无法直接保存,和直接还原。你要用2楼的方法动态编译。


 回到顶部
帅哥哟,离线,有人找我吗?
shanshuizhujian
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:221 积分:2195 威望:0 精华:0 注册:2011/12/14 9:56:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:221 积分:2195 威望:0 精华:0 注册:2011/12/14 9:56:00
  发帖心情 Post By:2016/7/5 9:57:00 [只看该作者]

以下是引用大红袍在2016/7/5 9:17:00的发言:

表,是无法存储对象的,只能存放字符,如果要存放,那个对象必须标记为可序列化的。

 

测试了一下,菜单没有弄成可序列化的。无法直接保存,和直接还原。你要用2楼的方法动态编译。


嗯,我按照上面的试 了一下,可以了。

 回到顶部