DataTables("用户权限表").LoadFilter = ""
DataTables("用户权限表").Load
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.StopRedraw() '停止绘制
lvw.Columns.Clear() '清除原来的列
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
'lvw.View = ViewMode.Details '显示模式为详细信息
lvw.GridLines = True '显示网格线
lvw.View = ViewMode.LargeIcon '显示模式为详细信息
Dim cls() As String = {"权限名称","权限类别"} '指定要显示的各列
Dim wds() As Integer = {300,300} '定义列宽
For i As Integer = 0 To cls.Length - 1 '增加列
Dim c As WinForm.ListViewColumn = lvw.Columns.Add()
c.Name = cls(i) '指定列名
c.Text = cls(i) '指定标题,这里标题和列名相同
c.Width = wds(i) '指定列宽
Next
For Each qxlb As String In DataTables("权限名称表").GetValues("权限分组")
Dim dr As DataRow
'dr = DataTables("用户权限表").sqlfind( "权限类别 = '系统维护' and 权限分组 = '" & qxlb & "' 用户='" & _UserName & "'")
dr = DataTables("用户权限表").sqlfind( "权限分组 = '" & qxlb & "' 用户='" & _UserName & "'")
If dr IsNot Nothing Then
Dim grp As WinForm.ListViewGroup = lvw.groups.Add() '增加一行
grp.Text = qxlb
grp.Name = qxlb
Else
Return
End If
Next
For Each dr As DataRow In DataTables("权限名称表").DataRows
Dim Key As String = dr("图标")
Dim r As WinForm.ListViewRow = lvw.rows.Add() '增加一行
' 图片
'lvw.Images.AddImage(Key, Key & ".ico", Key & "48.ico") '添加代表这个国家的一对图标
lvw.Images.AddImage(Key, Key & ".ico", Key & "48.ico") '添加代表这个国家的一对图标
r.ImageKey = Key '指定图标键值
' 图片
r.Group = dr("权限分组")
For Each cl As String In cls '逐列取值
Select Case cl
Case "权限名称","权限类别","用户"
r(cl) = dr(cl)
End Select
Next
Next
lvw.ResumeRedraw() '恢复绘制
老师,我的红色是从 用户权限表里,判断有没有这个用户,和这个用户分组,现在系统里有用户,拥有这个分组的权利,可是不能动态的加载分组,请老师看一下,哪里不对了