以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]菜单  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110211)

--  作者:江南小镇
--  发布时间:2017/11/29 6:31:00
--  [求助]菜单
老师好,可以直接把RibbonTabs名称赋值给组合框1 标题赋值给文本框1、Groups名称赋值给 CheckedComboBox1 标题文本框2、Items名称赋值给 CheckedComboBox2 标题赋值给文本框3,这样就不需要过渡表了。谢谢
[此贴子已经被作者于2017/11/29 6:32:04编辑过]

--  作者:有点甜
--  发布时间:2017/11/29 8:48:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/1926.htm

 


--  作者:江南小镇
--  发布时间:2017/11/29 18:40:00
--  
以下是引用江南小镇在2017/11/29 6:31:00的发言:
老师好,可以直接把RibbonTabs名称赋值给组合框1 标题赋值给文本框1、Groups名称赋值给 CheckedComboBox1 标题文本框2、Items名称赋值给 CheckedComboBox2 标题赋值给文本框3,这样就不需要过渡表了。谢谢

[此贴子已经被作者于2017/11/29 6:32:04编辑过]
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:菜单赋值.table
老师,自己搞不好。


--  作者:有点甜
--  发布时间:2017/11/29 20:03:00
--  
If e.Col.Name = "菜单名" Then
    Dim s As String = ""
    For Each r As RibbonMenu.Tab In RibbonTabs
        s = s + "|" + r.Name
    Next
    e.Col.ComboList = s
ElseIf e.Col.name = "分组名" Then
    Dim s As String = ""
    If RibbonTabs.Contains(e.Row("菜单名")) Then
        For Each r As object In RibbonTabs(e.Row("菜单名")).Groups
            s = s + "|" + r.Name
        Next
    End If
    e.Col.ComboList = s
ElseIf e.Col.name = "按钮" Then
    Dim s As String = ""
    If RibbonTabs.Contains(e.Row("菜单名")) AndAlso RibbonTabs(e.Row("菜单名")).Groups.Contains(e.Row("分组名")) Then
        For Each r As object In RibbonTabs(e.Row("菜单名")).Groups(e.Row("分组名")).items
            s = s + "|" + r.Name
        Next
    End If
    e.Col.ComboList = s
End If

--  作者:江南小镇
--  发布时间:2017/11/29 20:33:00
--  

老师,希望能显示标题。

 


图片点击可在新窗口打开查看此主题相关图片如下:2017-11-29 20 28 26.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2017/11/29 21:26:00
--  

DataColChanged事件,写代码

 

If e.DataCol.Name = "菜单名" Then
    If RibbonTabs.Contains(e.DataRow("菜单名")) Then
        e.DataRow("菜单标题") = RibbonTabs(e.DataRow("菜单名")).text
    End If
ElseIf e.DataCol.name = "分组名" Then
    If RibbonTabs.Contains(e.DataRow("菜单名")) AndAlso RibbonTabs(e.DataRow("菜单名")).Groups.Contains(e.DataRow("分组名")) Then
        e.DataRow("分组名标题") = RibbonTabs(e.DataRow("菜单名")).Groups(e.DataRow("分组名")).text
    End If
ElseIf e.DataCol.name = "按钮" Then
    If RibbonTabs.Contains(e.DataRow("菜单名")) AndAlso RibbonTabs(e.DataRow("菜单名")).Groups.Contains(e.DataRow("分组名")) AndAlso RibbonTabs(e.DataRow("菜单名")).Groups(e.DataRow("分组名")).Items.Contains(e.DataRow("按钮")) Then
        e.DataRow("按钮标题") = RibbonTabs(e.DataRow("菜单名")).Groups(e.DataRow("分组名")).Items(e.DataRow("按钮")).text
    End If
End If


--  作者:江南小镇
--  发布时间:2017/11/29 21:39:00
--  
老师太感谢了,继续劳烦老师,隐藏行,如果表A第一列单元格有数据则全部隐藏。
--  作者:有点甜
--  发布时间:2017/11/29 22:04:00
--  
以下是引用江南小镇在2017/11/29 21:39:00的发言:
老师太感谢了,继续劳烦老师,隐藏行,如果表A第一列单元格有数据则全部隐藏。

 

没看懂你什么意思。

 

什么时候隐藏?打开项目的时候,还是做什么操作之后?

 

隐藏什么数据?隐藏一行数据?还是隐藏所有符合条件的数据?


--  作者:江南小镇
--  发布时间:2017/11/29 22:27:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:2017-11-29 20 28 26.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2017/11/29 22:27:19编辑过]

--  作者:有点甜
--  发布时间:2017/11/29 22:40:00
--  

1、可以remove,如

 

DataTables("表A").RemoveFor("第一列 Is not null")

 

2、可以设置filter,如

 

Tables("表A").Filter = "第一列 Is null"

[此贴子已经被作者于2017/11/29 22:40:37编辑过]