以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于刷新菜单组合框的列表项目  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=19157)

--  作者:yyzlxc
--  发布时间:2012/4/29 11:06:00
--  [求助]关于刷新菜单组合框的列表项目


一段代码,用于加载菜单组合框的列表项目;放在菜单的CurrentTableChanged事件中,每当切换表时,列表项目就会刷新(不希望的效果);而放在菜单的LoadUserSetting事件中,只有重新打开项目时才能刷新列表项目,不能达到像帮助中所说的切换用户就触发LoadUserSetting事件(希望的效果)。因为系统使用的是“自定义用户与权限管理”登录模块,我想可能与此有关。

请教各位老师,用什么方法,能够实现切换用户就能刷新菜单组合框的列表项目。谢谢!!


Dim cmd1 As New SQLCommand
Dim ct1 As DataTable
cmd1.C  \'外部数据源
cmd1.CommandText = "SELECT DISTINCT(报表年月) As 报表年月 From {日报源表}"
ct1 = cmd1.ExecuteReader()
Dim vals1() As String = ct1.GetComboListString("报表年月","","报表年月 DESC").Split("|") \'倒序
Dim cmb1 As RibbonMenu.ComboBox = RibbonTabs("生产报表").Groups("生产日报").Items("日报年月")
With RibbonTabs("生产报表")("生产日报")("日报年月")
    .Items.Clear \'清除原有项目
    For Each val1 As String In vals1
        Dim btn1 As new RibbonMenu.Button(val1)
        btn1.text = val1
        cmb1.Items.Add(btn1)
    Next
    .Text= Vals1(0)
End With


--  作者:狐狸爸爸
--  发布时间:2012/5/2 10:17:00
--  
LoadUserSetting就是切换用户的时候执行,除非你你使用的是自定义用户管理。