以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自定义的更改用户窗口会出现foxtable默认的内容  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23070)

--  作者:zpx_2012
--  发布时间:2012/8/31 19:34:00
--  自定义的更改用户窗口会出现foxtable默认的内容

各位老师,

 

设计了自己的用户及权限管理,但更改用户窗口的部门列会出现原来foxtable默认的用户管理中的内容,如下图

 


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

代码如下:

Dim UserName As String
Dim UserGroup As String
Dim UserRole As String
Dim PassWord As String
Dim cmd As New SQLCommand
Dim dt As DataTable
If Forms("用户管理").Opened Then \'说明是通过用户管理再打开更改用户窗口的,区别于用户自己更改密码.
    UserName = Forms("用户管理").Controls("ListBox1").SelectedItem
Else
   UserName = _UserName \'_UserName为全局变量,用于保存当前用户名
   e.Form.Controls("UserName").Enabled = False
   e.Form.Controls("UserGroup").Enabled = False
 e.Form.Controls("UserRole").Enabled = False
End If
e.Form.Text = e.Form.Text & "-" & UserName \'窗口显示窗口名称及用户名
cmd.C
cmd.CommandText = "Select * From {用户} Where [Name] = \'" & UserName & "\'"
dt = cmd.ExecuteReader
If dt.DataRows.Count = 1 Then
    e.Form.Controls("UserName").Value = UserName
    e.Form.Controls("UserGroup").Value = dt.DataRows(0)("Group")
e.Form.Controls("UserRole").Value = dt.DataRows(0)("Role")
    e.Form.Controls("PassWord").Value = dt.DataRows(0)("PassWord")
Else
    MessageBox.Show("用户不存在或者已经被删除!","提示",MessageBoxButtons.OK)
   e.Form.Close()
End If

\'从部门角色表生成部门组合框的列表内容
Dim cb As WinForm.ComboBox = e.Form.Controls("UserGroup")
Dim drs As New List(of String)
drs = DataTables("部门角色").GetUniqueValues("","部门")
For Each dr As String In drs
    cb.Items.Add(dr)
Next
\'从部门角色表生成角色复选框的列表内容
Dim ccb As WinForm.CheckedComboBox = e.Form.Controls("UserRole")
Dim nms As New List(of String)
nms = DataTables("部门角色").GetUniqueValues("","角色")
For Each nm As String In nms
    ccb.Items.Add(nm)
Next
ccb.ComboList = String.Join("|", nms.Toarray) \'形成列表项目

 

不知道是什么原因?请大家指点

 

谢谢!


--  作者:程兴刚
--  发布时间:2012/8/31 23:59:00
--  
自定义变量username和系统变量同名,加下划线区分一下,类似的问题自己再找找!