以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  RadioButton 问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=164103)

--  作者:wangglby
--  发布时间:2021/4/27 8:42:00
--  RadioButton 问题

 在窗口中增加2个或2个以上的 这种单项选,能不能实现,选中其中的一个后,其他的全部取消选中。

 

现在我发现选中一个后,其他的就没法选了,只有把这个选中的取消,其他的 才能选。


--  作者:有点蓝
--  发布时间:2021/4/27 8:50:00
--  
我测试没有问题呀,默认就是这样:选中其中的一个后,其他的全部取消选中

请上传实例说明

--  作者:wangglby
--  发布时间:2021/4/27 8:59:00
--  

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

见窗口1,可能你测试的没绑定逻辑列

[此贴子已经被作者于2021/4/27 8:59:20编辑过]

--  作者:有点蓝
--  发布时间:2021/4/27 9:15:00
--  
分别放到不同的panel里,因为同一个容器里的RadioButton 是有排他性的

如果要控制不同逻辑列的排他选择要这样处理:http://www.foxtable.com/webhelp/topics/2395.htm

--  作者:wangglby
--  发布时间:2021/4/27 10:54:00
--  

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

我用了这个代码,在表中选择其中1个,则另外1个能实现取消选择,

 

但在窗口中 ,用RadioButton 选择,如果 选项2被选择,再选选项1,则选不中


--  作者:有点蓝
--  发布时间:2021/4/27 11:07:00
--  
2个RadioButton 分别放到不同的panel里
--  作者:wangglby
--  发布时间:2021/4/27 11:19:00
--  

那为什么选择  如果  选项1被选中,再选择选项2,则没问题?

 

 

如果因结构限制,只能放到一个panel里,能用代码实现以上功能吗。

[此贴子已经被作者于2021/4/27 11:24:51编辑过]

--  作者:有点蓝
--  发布时间:2021/4/27 11:22:00
--  
不能,我说过了:同一个容器里的RadioButton 是有排他性的。
--  作者:wangglby
--  发布时间:2021/4/27 11:34:00
--  

要实现此目的,只需将表的DataColchanging事件代码设置为:

Select Case e.DataCol.Name
    Case
"选项A","选项B","选项C","选项D"
        If
e.NewValue = True Then
            Dim
nms() As String = {"选项A","选项B","选项C","选项D"}
           
For Each nm As String In nms
                If nm <> e.DataCol.Name AndAlso e.DataRow(nm) = True Then
                    e.DataRow(nm) = False
                End If
           
Next
        End If
End Select

 

 

我把帮助的这个代码,放到DataColchanged里面,基本能实现了,只是要多点一下。

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


--  作者:有点蓝
--  发布时间:2021/4/27 11:55:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目11 (2).zip