Foxtable(狐表)用户栏目专家坐堂 → [求助]如何根据两列跨表取值赋值?


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

主题:[求助]如何根据两列跨表取值赋值?

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/1 20:59:00 [显示全部帖子]

Select Case e.DataCol.Name
    Case  "角色ID","权限ID"
        Dim s As String = ""
        Dim dr1 As DataRow = DataTables("角色").Find("角色ID = " & e.DataRow("角色ID"))
        If dr1 IsNot Nothing Then
            s = s & dr1("角色名") & "_"
        End If
        Dim dr2 As DataRow = DataTables("权限").Find("权限ID = " & e.DataRow("权限ID"))
        If dr2 IsNot Nothing Then
            s = s & dr2("权限名")
        End If
        If s > "" Then
            e.DataRow("角色权限描述")  = s
        Else
            e.DataRow("角色权限描述")  = Nothing
        End If
End Select

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/2 10:23:00 [显示全部帖子]

建议统一一下ID,有些是整数,有些又是字符

Select Case e.DataCol.Name
    Case  "角色ID","权限ID"
        Dim s As String = ""
        If e.DataRow.IsNull("角色ID") = False
            Dim dr1 As DataRow = DataTables("角色").Find("角色ID = '" & e.DataRow("角色ID") & "'")
            If dr1 IsNot Nothing Then
                s = s & dr1("角色名")
            End If
        End If
        
        If e.DataRow.IsNull("权限ID") = False
            Dim dr2 As DataRow = DataTables("权限").Find("权限ID = " & e.DataRow("权限ID"))
            If dr2 IsNot Nothing Then
                If s > "" Then s = s & "_"
                s = s & dr2("权限名")
            End If
        End If
        If s > "" Then
            e.DataRow("角色权限描述")  = s
        Else
            e.DataRow("角色权限描述")  = Nothing
        End If
End Select

 回到顶部