Foxtable(狐表)用户栏目专家坐堂 → 左导航权限问题


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

主题:左导航权限问题

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/14 13:50:00 [显示全部帖子]

比如:

Dim zaj As List(of String)
If user.Group = "行政分组" Then
    zaj  = DataTables("导航").GetValues("分组","分组 not in ('工程管理部','财务审计部')","序号")
ElseIf  user.Group = "录入分组" Then
    zaj  = DataTables("导航").GetValues("分组","分组 not in ('质量安全部')","序号")
Else
    zaj  = DataTables("导航").GetValues("分组","","序号")
End If


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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/14 15:00:00 [显示全部帖子]

放到窗口afterload

替换原来的这一句
Dim zaj As List(of String) = DataTables("导航").GetValues("分组","","序号")

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/14 16:16:00 [显示全部帖子]

都说了替换掉原来的代码,单独放一段代码后面有啥用啊

Dim o As new C1.Win.C1Command.C1OutBar
o.name="o"
o.dock=5 '锚定
o.VisualStyle=5 '主题
o.pagetitleheight=30 '页面高度
Dim zaj As List(of String)
If user.Group = "行政" Then
    zaj  = DataTables("导航").GetValues("分组","分组 not in ('工程管理部','财务审计部','质量安全部')","序号")
ElseIf  user.Group = "录入" Then
    zaj  = DataTables("导航").GetValues("分组","分组 not in ('质量安全部')","序号")
Else
    zaj  = DataTables("导航").GetValues("分组","","序号")
End If
For Each za As String In zaj
    Dim p1 As new C1.Win.C1Command.C1OutPage '新建页面
    p1.name=za
    p1.text=za
    o.Pages.add(p1)
    Dim ajm As List(of DataRow) = DataTables("导航").Select("分组='" & za & "'","序号 Desc")
    For Each aj2 As DataRow In ajm
        Dim aj As String = aj2("名称")
        Dim jpg As String = aj2("图标")
        Dim hsmc As String =aj2("名称")  ' "a" & aj2("分组") & aj & aj2("序号")
……

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/14 19:56:00 [显示全部帖子]

完全一样的用法,根据条件获取自己能够看到的分组

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/14 21:49:00 [显示全部帖子]

For Each zh As String In zaj
    Dim grp As WinForm.ListViewGroup = lvw.Groups.Add()
    grp.Name = zh
    grp.Text = zh
Next

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/14 22:40:00 [显示全部帖子]

For Each dr As DataRow In DataTables("导航").DataRows

这种遍历所有行的一样改为按分组条件取值:http://www.foxtable.com/webhelp/topics/0400.htm

比如:
For Each dr As DataRow In DataTables("导航").select("分组 not in ('预算','设置')")

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/15 8:51:00 [显示全部帖子]

……
Dim zaj As List(of String)
If user.Group = "行政" Then
    zaj  = DataTables("导航").GetValues("分组","分组 not in ('工程管理部','财务审计部','质量安全部','人力资源部')","序号")
ElseIf  user.Group = "录入" Then
    zaj  = DataTables("导航").GetValues("分组","分组 not in ('质量安全部','人力资源部','市场经营部','工程管理部','综合办公室','财务审计部')","序号")
Else
    zaj  = DataTables("导航").GetValues("分组","","序号")
End If
For Each zh As String In zaj
    Dim grp As WinForm.ListViewGroup = lvw.Groups.Add()
    grp.Name = zh
    grp.Text = zh
Next
Dim drs As List(of DataRow )
If user.Group = "行政" Then
    drs= DataTables("导航").Select("分组 not in ('质量安全部','人力资源部','市场经营部','工程管理部','综合办公室','财务审计部')","序号")
ElseIf  user.Group = "录入" Then
    drs= DataTables("导航").Select("分组 not in ('人力资源部','市场经营部','工程管理部','综合办公室','财务审计部')","序号")
Else
    drs= DataTables("导航").Select("","序号")
End If
For Each dr As DataRow In drs
    Dim Key As String = dr("图标")
    Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    lvw.Images.AddImage(Key, Key, Key) '添加代表这个名称的一对图标
    r.ImageKey = Key '指定图标键值
    r.Group = dr("分组") '指定所属分组
    r.Tag = zaj
    For Each cl As String In cls '逐列取值
        r(cl) = dr(cl)
    Next
Next
lvw.ResumeRedraw() '恢复绘制


 回到顶部