Foxtable(狐表)用户栏目专家坐堂 → listview的问题(已联系客服远程解决)


  共有2960人关注过本帖树形打印复制链接

主题:listview的问题(已联系客服远程解决)

帅哥哟,离线,有人找我吗?
even0898
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:186 积分:1294 威望:0 精华:0 注册:2011/8/17 17:29:00
listview的问题(已联系客服远程解决)  发帖心情 Post By:2015/5/16 15:31:00 [只看该作者]

结合权限的代码设置后,老是多添加一组出来,如图

添加分组的代码标红,老是自动添加一组名为Default的组出来,怎么去掉呢?


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150516152535.jpg
图片点击可在新窗口打开查看
Dim qcr As DataRow = DataTables("用户表").SQLFind("用户名 = '" & _User & "'")
Functions.Execute("动态添加lable")
e.Form.BackColor = SystemColors.GradientInactiveCaption
Dim lvw As WinForm.ListView = Forms("主界面").Controls("ListView1")
Dim Nav As WinForm.NavBar = Forms("主界面").Controls("NavBar1")
If _User <> "管理员"
    '隐藏未编辑项目
    For Each pg As WinForm.NavPage In Nav.NavPages
        Dim pgn As String = pg.Name
        Dim dr As DataRow = DataTables("授权表").SQLFind("模块名称 = '" & pgn & "' And 对象窗口 is NUll And 对象名称 Is Null")
        If dr IsNot Nothing
            Dim uss As String = dr("被授权人")
            If uss.Contains(_User) = True OrElse uss.Contains(qcr("职位")) = True
      pg.Visible = True
Else
pg.Visible = False
            End If
Else
pg.Visible = False
        End If
    Next
    ''''-----------------------
    lvw.StopRedraw() '暂停绘制
    lvw.Rows.Clear() '清除原来的行
    lvw.Images.Clear() '清除原来的图片
    lvw.View = ViewMode.LargeIcon '显示模式为大图标
    lvw.Images.LargeSize = New Size(32,32) '定义大图标尺寸
    lvw.MultiSelect = False
    Dim nms As List(of String) = DataTables("导航菜单").GetValues("模块名称")
    For Each nm As String In nms '添加分组
        Dim grp As WinForm.ListViewGroup = lvw.Groups.Add()
        '====
        Dim dr As DataRow = DataTables("授权表").SQLFind("模块名称 = '" & nm & "' And 对象窗口 is NUll And 对象名称 Is Null")
        If dr IsNot Nothing
            Dim uss As String = dr("被授权人")
            If uss.Contains(_User) = True OrElse uss.Contains(qcr("职位")) = True
                'MessageBox.show(nm)
                grp.Name = nm
                grp.Text = nm
            End If
        End If
        '===
    Next
    For Each dr As DataRow In DataTables("导航菜单").DataRows '从数据表中提取数据
        Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
        Dim Key As String = dr("图标地址")'获取此员工的照片文件
        lvw.Images.AddLargeImage(key,key) '添加照片,直接用文件名作为图片键值
        Dim ccr As DataRow = DataTables("授权表").SQLfind("对象窗口 = '" & dr("元素名称") & "' And 对象名称 is null")
        If ccr IsNot Nothing
            Dim uss As String = ccr("被授权人")
            If uss.Contains(_User) = True OrElse uss.Contains(qcr("职位")) = True
                vr.Group = dr("模块名称")
                vr.Text = dr("元素名称")  '设置标题
                vr.ImageKey = key '设置图片键值
                vr.ToolTipText = dr("功能概述")
            End If
        End If
    Next
    lvw.ResumeRedraw() '恢复绘制
    '===========================================================
Else
    lvw.StopRedraw() '暂停绘制
    lvw.Rows.Clear() '清除原来的行
    lvw.Images.Clear() '清除原来的图片
    lvw.View = ViewMode.LargeIcon '显示模式为大图标
    lvw.Images.LargeSize = New Size(32,32) '定义大图标尺寸
    lvw.MultiSelect = False
    Dim nms As List(of String) = DataTables("导航菜单").GetValues("模块名称")
    For Each nm As String In nms '添加分组
        Dim grp As WinForm.ListViewGroup = lvw.Groups.Add()
        grp.Name = nm
        grp.Text = nm
    Next
    For Each dr As DataRow In DataTables("导航菜单").DataRows '从数据表中提取数据
        Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
        Dim Key As String = dr("图标地址")'获取此员工的照片文件
        lvw.Images.AddLargeImage(key,key) '添加照片,直接用文件名作为图片键值
        vr.Group = dr("模块名称")
        vr.Text = dr("元素名称")  '设置标题
        vr.ImageKey = key '设置图片键值
        vr.ToolTipText = dr("功能概述")
    Next
    lvw.ResumeRedraw() '恢复绘制
End If


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/16 15:35:00 [只看该作者]

For Each nm As String In nms '添加分组
        messagebox.show(nm)  ' 看看是不是有Defalut  是不是你NMS里面本来就有. 到表里删除它
        Dim grp As WinForm.ListViewGroup = lvw.Groups.Add()
        '====
        Dim dr As DataRow = DataTables("授权表").SQLFind("模块名称 = '" & nm & "' And 对象窗口 is NUll And 对象名称 Is Null")
        If dr IsNot Nothing
            Dim uss As String = dr("被授权人")
            If uss.Contains(_User) = True OrElse uss.Contains(qcr("职位")) = True
                'MessageBox.show(nm)
                grp.Name = nm
                grp.Text = nm
            End If
        End If
        '===
    Next

 回到顶部
帅哥哟,离线,有人找我吗?
even0898
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:186 积分:1294 威望:0 精华:0 注册:2011/8/17 17:29:00
  发帖心情 Post By:2015/5/16 15:37:00 [只看该作者]

 show过了,没有

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/16 15:38:00 [只看该作者]

不会吧,不可能自己添加的.你注译这段代码看看.如果还有.说明你其他地方有代码添加了一个分组

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/16 15:40:00 [只看该作者]

懒得找的话,可以用代码把它删了  http://www.foxtable.com/help/topics/2847.htm

 回到顶部
帅哥哟,离线,有人找我吗?
even0898
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:186 积分:1294 威望:0 精华:0 注册:2011/8/17 17:29:00
  发帖心情 Post By:2015/5/16 15:47:00 [只看该作者]

晕了,注释后直接没分组了

删除也删除不了

 For Each nm As String In nms '添加分组
        MessageBox.show(nm)
        Dim grp As WinForm.ListViewGroup = lvw.Groups.Add()
        '====
        Dim dr As DataRow = DataTables("授权表").SQLFind("模块名称 = '" & nm & "' And 对象窗口 is NUll And 对象名称 Is Null")
        If dr IsNot Nothing
            Dim uss As String = dr("被授权人")
            If uss.Contains(_User) = True OrElse uss.Contains(qcr("职位")) = True
                grp.Name = nm
                grp.Text = nm
            End If
        End If
        '===
        lvw.Groups.Delete("Default")
    Next


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/16 15:48:00 [只看该作者]

放到所有代码最后面.

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/16 15:49:00 [只看该作者]

实在搞不定就上个例子吧 

 回到顶部
帅哥哟,离线,有人找我吗?
even0898
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:186 积分:1294 威望:0 精华:0 注册:2011/8/17 17:29:00
  发帖心情 Post By:2015/5/16 15:51:00 [只看该作者]

这个好复杂啊,要不我发源代码给你

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/16 15:52:00 [只看该作者]

看 7  8楼. 做个例子发上来即可

 回到顶部
总数 15 1 2 下一页