以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求助:人员关联表 根据告知内容表中的是与否来进行数据选择  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=130951)

--  作者:李孝春
--  发布时间:2019/2/12 17:08:00
--  求助:人员关联表 根据告知内容表中的是与否来进行数据选择
现在有两张表  人员关联表   告知内容表 
想实现根据告知内容表中的是否告知  内容如果是“是”
那么就把人员关联表中的复选框全部取消
  
如果是否告知  内容如果是“否”
那么就把人员关联表中的复选框  按照结果是“否”对应的姓名值进行选中

下面的代码只能实现全部是“是”后取消勾选,“否”后全部选择,不能实现“是“”否”都存在的情况下,自动按照上面要求进行判断。

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

If Tables.Contains("人员关联表") Then
    For Each r As Row In Tables("人员关联表").Rows
        If r("姓名") IsNot Nothing Then
            For Each r1 As Row In Tables("告知内容").Rows
                If r1("是否告知") ="否" Then
                    Dim dr As DataRow
                    dr = DataTables("人员关联表").Find("姓名 = \'" & r1("姓名") & "\'")
                    If dr IsNot Nothing Then
                        Dim wz As Integer = Tables("人员关联表").FindRow(dr)
                        If wz >= 0 Then
                            Tables("人员关联表").Position = wz
                            r.Checked = True
                        End If
                    End If
                Else
                    r.Checked = False
                End If
            Next
        End If
    Next
End If


[此贴子已经被作者于2019/2/12 17:40:40编辑过]

--  作者:有点甜
--  发布时间:2019/2/12 17:37:00
--  
If Tables.Contains("人员关联表") Then
    For Each r As Row In Tables("人员关联表").Rows
        If r("姓名") IsNot Nothing Then
            Dim drs = DataTables("告知内容").Select("姓名 = \'" & r("姓名") & "\' and (是否告知 is null or 是否告知 <> \'是\')")
            If drs.count = 0 Then
                r.Checked = False
            Else
                r.checked = True
            End If
        End If
    Next
End If