Foxtable(狐表)用户栏目专家坐堂 → [求助] 两表集合数据同步问题


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

主题:[求助] 两表集合数据同步问题

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4921 威望:0 精华:0 注册:2014/2/25 15:50:00
[求助] 两表集合数据同步问题  发帖心情 Post By:2016/8/29 20:43:00 [显示全部帖子]

图片点击可在新窗口打开查看请问如何实现点击上面的员工,出现下面界面,或者是哪点有视频或教程也可以
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/8/30 11:40:07编辑过]

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4921 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2016/8/30 11:11:00 [显示全部帖子]

老师好,现在能实现将角色表的数据加载到授权表中,但发现了一个问题,就是原来加载的不消失,请问如何先清除授权表‘授权’和‘加载范围’列后再加载呢,最后还有个问题就是我在授权表中修改了权限,如何重新保存到相应角色的集合中呢
'角色表click事件
'将加载范围集合到授权中
If   e.Row.IsNull("加载范围集合") = False Then
    Dim s1arr() As String = e.Row("加载范围集合").Split(",")
    For Each s1 As String In s1arr
        Dim s2arr() As String = s1.Split("|")
        If s2arr.Length = 2 Then
            Dim dr As DataRow = DataTables("授权").Find("权限 ='" & s2arr(0) & "'")
            If dr IsNot Nothing Then
                dr("加载范围") = s2arr(1)
            End If
        End If
    Next
End If
'将授权集合加载到授权中
If   e.Row.IsNull("授权集合") = False Then
    Dim s3arr() As String = e.Row("授权集合").Split(",")
    For Each s3 As String In s3arr
        Dim dr As DataRow = DataTables("授权").Find("权限 like'" & s3 & "'")
        If dr IsNot Nothing Then
            dr("授权") = True
        End If
    Next
End If



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


加好友 发短信
等级:三尾狐 帖子:629 积分:4921 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2016/8/30 11:37:00 [显示全部帖子]

为了达到保存的效果,我在角色管理增加了授权列 点击授权及弹出角色授权窗口,同样有保存和取消按钮,但是现在问题来了,如何在修改了角色授权表信息后同步更新到角色管理里面,请老师给予帮助。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:角色授权.foxdb



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


加好友 发短信
等级:三尾狐 帖子:629 积分:4921 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2016/8/30 13:02:00 [显示全部帖子]

请问权限列是逻辑列,如何让drs1 = “权限”为 true 呢
Dim dr As Row = Tables("角色管理").Current
If dr Is Nothing Then Return
Dim drs As List(Of DataRow) = DataTables("授权").Select("权限 is not null and 加载范围 is not null")
If drs.Count > 0 Then
    Dim sqjh As String
    Dim fwjh As String
    For Each r As DataRow In drs
        sqjh &= "," & r("权限")
        fwjh &= "," & r("权限") & "|" & r("加载范围")
    Next
    dr("加载范围集合") = fwjh.TrimStart(",")
    
    Dim drs1 As List(Of DataRow) = DataTables("授权").Select("权限 = ""true""")
    If drs1.Count > 0 Then
        Dim sqjh1 As String
        For Each r As DataRow In drs1
            sqjh1 &= "," & r("权限")
        Next
        dr("授权集合") = sqjh1.TrimStart(",")
        Tables("角色管理").Current.Save() '保存当前行
    End If
End If
e.Form.Close()
[此贴子已经被作者于2016/8/30 13:56:50编辑过]

 回到顶部