Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:怎样动态加入右键菜单

1楼
lianghanyu 发表于:2025/4/8 8:41:00

图片点击可在新窗口打开查看此主题相关图片如下:1111.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:222.jpg
图片点击可在新窗口打开查看


我在项目总表里建立了一个“项目总表菜单”, 现在,它在表格里是可以右击显示出来的。它下边有一些子级菜单。现在我想在“项目总表菜单”下增加一个名称为“添加任务”的子菜单。

然后在“添加任务”菜单下边,动态加入,基本信息表里的,任务类别1,我是通过SQLGetComboListString这样的代码把任务类别1的列表得到的。

然后,在任务类别1下 增加 任务类别 2的子菜单。  

就这样的2级菜单,怎么样去动态生成?
2楼
有点蓝 发表于:2025/4/8 9:00:00
参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=128006&skin=0

3楼
lianghanyu 发表于:2025/4/8 10:43:00

我写了以下的代码,但是提示出错:
Dim mnu1 As RibbonMenu.ContextMenu = ContextMenus("项目总表菜单")
Dim a As New C1.Win.C1Command.C1Command 
a.name = "添加任务" 
a.text = "添加任务"

Dim b As New C1.Win.C1Command.C1CommandLink(a) 
Dim c As New RibbonMenu.ContextCommand(b) 
If mnu1.items.Contains("添加任务") = False Then
    mnu1.items.add(c)
End If



Dim sts As String = DataTables("基本信息").GetComboListString("任务类别1")
Dim mnu2 As RibbonMenu.ContextMenu = ContextMenus("添加任务")
For Each st As String In sts.Split("|")
    Dim d As New C1.Win.C1Command.C1Command 
    d.name = st
    d.text = st
    Dim g As New C1.Win.C1Command.C1CommandLink(d)
    Dim f As New RibbonMenu.ContextCommand(g) 
    '    mnu.Items.Add(st)
    
    If mnu2.items.Contains(st) = False Then
        '       mnu2 .items.add(st)
        
        mnu2.items.add(mnu1.items(st)) 
        
    End If
    
Next


图片点击可在新窗口打开查看此主题相关图片如下:333.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:444.jpg
图片点击可在新窗口打开查看

4楼
有点蓝 发表于:2025/4/8 11:12:00
Dim mnu1 As RibbonMenu.ContextMenu = ContextMenus("项目总表菜单")
Dim a As New C1.Win.C1Command.C1Command 
a.name = "添加任务" 
a.text = "添加任务"

Dim b As New C1.Win.C1Command.C1CommandLink(a) 
Dim c As New RibbonMenu.ContextCommand(b) 
If mnu1.items.Contains("添加任务") = False Then
    mnu1.items.add(c)
End If



Dim sts As String = DataTables("基本信息").GetComboListString("任务类别1")
For Each st As String In sts.Split("|")
    Dim d As New C1.Win.C1Command.C1Command 
    d.name = st
    d.text = st
    Dim g As New C1.Win.C1Command.C1CommandLink(d)
    Dim f As New RibbonMenu.ContextCommand(g) 
    '    mnu.Items.Add(st)
    
    If c.items.Contains(st) = False Then
        '       mnu2 .items.add(st)
        
        c.items.add(mnu1.items(st)) 
        
    End If
    
Next
5楼
lianghanyu 发表于:2025/4/8 11:49:00

图片点击可在新窗口打开查看此主题相关图片如下:555.jpg
图片点击可在新窗口打开查看
6楼
有点蓝 发表于:2025/4/8 13:36:00
试了一下,只能添加到根菜单,也就是"项目总表菜单"里面,不能再添加子菜单。

或者换种用法,先添加所有菜单,然后根据需要移动到其它菜单里:http://www.foxtable.com/webhelp/topics/2233.htm
共6 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02734 s, 2 queries.