以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]逻辑列的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131611)

--  作者:sunion
--  发布时间:2019/3/2 18:20:00
--  [求助]逻辑列的问题
各位大师,近来学习FT的过程中,遇到这个问题,感觉有点难,有兴趣的大神们花几分钟讨论下,谢谢
如下图,表格中有两列是逻辑列,如果我点击CheckBox打勾“锁定A组”,则表格中列“锁定A组”全部都打勾。列“锁定B组”不改变;取消CheckBox锁定A组”的勾,则表格中列“锁定A组”全部都取消勾。
而我点击CheckBox打勾“锁定B组”,则表格中列“锁定B组”全部都打勾,而且列“锁定A组”也要全部都打勾;而取消CheckBox锁定B组”的勾时,则表格中列“锁定B组”全部都取消勾,但是列“锁定A组”的勾不需要取消


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


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


[此贴子已经被作者于2019/3/2 20:35:06编辑过]

--  作者:wyz20130512
--  发布时间:2019/3/2 23:28:00
--  
Controls("CheckBoxA")的CheckedChanged事件代码:

If e.Sender.Name = "CheckBoxA" Then
    Dim t As Table = Tables(e.Form.TableName)
    If e.Sender.Checked = True Then
        For Each r As Row In t.Rows
            r("锁定A组")  = True
        Next
    Else
        For Each r As Row In t.Rows
            r("锁定A组")  = False
        Next
    End If
End If

Controls("CheckBoxB")的CheckedChanged事件代码:

If e.Sender.Name = "CheckBoxB" Then
    Dim t As Table = Tables(e.Form.TableName)
    If e.Sender.Checked = True Then
        For Each r As Row In t.Rows
            r("锁定A组")  = True
            r("锁定B组")  = True
        Next
    Else
        For Each r As Row In t.Rows
            r("锁定B组")  = False
        Next
    End If
End If

--  作者:sunion
--  发布时间:2019/3/3 9:26:00
--  
哇,我看明白了,大神啊,让我顶礼膜拜