Foxtable(狐表)用户栏目专家坐堂 → 复选框问题


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

主题:复选框问题

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
复选框问题  发帖心情 Post By:2020/7/30 2:14:00 [只看该作者]


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

问题1  这个代码我是要在保存前,把有这个用户的权限先全部删除掉,然后添加新的权限,以前没有这个代码,比如给这个人修改权限,保存时有重复记录,可现在的结果是,是在添加后才检查,这个人的权限全部删除了

Dim bj As String = e.Form.Controls("编号").text
Dim yh As String = e.Form.Controls("用户").text

Dim dr1 As DataRow
dr1 = DataTables("用户权限表").Find("用户编号 = '" & bj & "'")
DataTables("用户权限表").DeleteFor("用户编号 = '" & bj & "'")

Dim bj1 As String = e.Form.Controls("编号").text
Dim yh1 As String = e.Form.Controls("用户").text

For Each r As Row In Tables("用户管理_Table3").GetCheckedRows  '权限名称表
    Dim r2 As Row = Tables("用户权限表").AddNew
    r2("用户编号") = bj1
    r2("用户") = yh1
    Dim abs() As String ={"类别编号","权限类别","分组编号","权限分组","权限名称"}
    For Each ab As String In abs
        r2(ab) = r(ab)
    Next
    r2("权限编号") = r("编号")
    DataTables("用户权限表").save

问题2 给人授权时,如果切换权限类别,上一个权限类别勾选的就没有,保存时就只能保存最后选择 权限类别下选中的权限,我在复选框状态修改前处理 
下面的代码,你看看哪块不对了

Dim Filter As String

Dim lst As new List(of String)
For Each r As Row In Tables("用户管理_table3").GetCheckedRows
    lst.Add(r("编号"))
Next
If Filter > "" Then
    Tables("用户管理_table3").Filter = Filter
    For Each r As Row In Tables("用户管理_table3").Rows
        r.Checked  = lst.Contains(r("编号"))
    Next
End If




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


加好友 发短信
等级:超级版主 帖子:112401 积分:572273 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/30 9:05:00 [只看该作者]

请上传实例说明

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/7/30 12:09:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:项目1.foxdb


用户权限维护实现功能

第一次给一个用户授权,选角色,该角色有什么权限,右边权限名称已勾选,保存OK

当第二次给这个人重新授权时,要自动的判断这个人 属于什么角色,都有什么权限,角色表,和权限名称表都选上,这个折腾了好长时间也弄不好

还有就是第二次进行保存时,写入的删除以前有用给的权限,再添加,不起作用

权限类别切换,权限多了不好找,要进行切换,写复选框修改保存前,也不起作用 

麻烦老师了,这个问题搞了好长时间了,还是搞不定



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


加好友 发短信
等级:超级版主 帖子:112401 积分:572273 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/30 13:59:00 [只看该作者]

目录树AfterSelectNode

Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
If e.Node.Level = 2 Then
    e.form.controls("编号").text = dr("编号")
    e.form.controls("用户").text = dr("用户")
    Tables("用户管理_table3").ClearCheckedRows
    Tables("用户管理_table4").ClearCheckedRows
    Dim dr2 As DataRow = DataTables("用户权限表").Find("用户编号='" & dr("编号") & "'")
    If dr2 IsNot Nothing Then
        Dim idx As Integer = Tables("用户管理_table4").Findrow("编号='" & dr2("角色编号") & "'")
        If idx > -1 Then
            Tables("用户管理_table4").Position = idx
            Tables("用户管理_table4").Rows(idx).Checked =True
        End If
    End If
End If

至于各种权限的控制模式我没有看懂。用户到底是绑定角色,还是直接绑定权限?

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/7/30 14:55:00 [只看该作者]

Dim idx1 As Integer = Tables("用户管理_table3").Findrow("编号='" & dr2("权限编号") & "'")
        If idx1 > -1 Then
            Tables("用户管理_table3").Position = idx1
            Tables("用户管理_table3").Rows(idx1).Checked =True
        End If
老师,这个用户是直接绑定角色和权限都绑定,第一次的时候选了角色,权限名称是属于这个角色下的,当以后进入的看这个人的权限时,即看到他现在是什么角色,权限名称应该是他现在拥有的全部权限,这个我后面准备用颜色表示,那些是属于角色有的权限,哪些是超过角色外的权限授权。现在加了这个代码不起作用,显示的权限还是只有角色本身的权限

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


加好友 发短信
等级:超级版主 帖子:112401 积分:572273 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/30 15:06:00 [只看该作者]

用法类似,自己查询有哪些不是角色本身的权限,然后勾选。角色表选择不同行(currentchanged事件)也有类似的用法,自己看懂

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


加好友 发短信
等级:超级版主 帖子:112401 积分:572273 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/30 15:08:00 [只看该作者]

感觉这个窗口设计是有问题的。按我的理解,用户绑定角色、用户直接绑定权限、角色绑定权限,应该属于3个不同的功能,最好是设计3个窗口(模块)分开做,全部混到一起控制,根本无法理清他们的关系

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/7/30 15:20:00 [只看该作者]

老师,这个在你的指导下,终于实现了,很感激

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/7/30 15:22:00 [只看该作者]

现在,还有就是想解决 再次授权时,重复记录的问题,
'Dim dr1 As DataRow
'dr1 = DataTables("用户权限表").Find("用户编号 = '" & bj & "'")
'DataTables("用户权限表").DeleteFor("用户编号 = '" & bj & "'")
想在添加前删除,可结果却是,在保存时,把这个人的所有权限删除了

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


加好友 发短信
等级:超级版主 帖子:112401 积分:572273 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/30 15:41:00 [只看该作者]

和这个代码没有关系,是table3没有勾选吧,没有购买就不会进入循环,也就不能添加权限

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