Foxtable(狐表)用户栏目专家坐堂 → [求助]RadioButton与表中逻辑列如何绑定?


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

主题:[求助]RadioButton与表中逻辑列如何绑定?

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


加好友 发短信
等级:童狐 帖子:252 积分:2193 威望:0 精华:0 注册:2011/6/28 16:50:00
[求助]RadioButton与表中逻辑列如何绑定?  发帖心情 Post By:2011/7/13 14:57:00 [只看该作者]

在表中有【性别】字段,在窗口中用2个

RadioButton分别表示男和女,但实验多次仍不能正确绑定到【性别】字段。请指教!!!


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/13 15:00:00 [只看该作者]

应该用复选框CheckedBox


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


加好友 发短信
等级:童狐 帖子:252 积分:2193 威望:0 精华:0 注册:2011/6/28 16:50:00
  发帖心情 Post By:2011/7/13 15:07:00 [只看该作者]

但非常想要radiobutton来做,许多平台都是这样的,用代码行不?

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/13 15:08:00 [只看该作者]

不可以的。


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


加好友 发短信
等级:幼狐 帖子:172 积分:1323 威望:0 精华:0 注册:2011/6/6 12:22:00
  发帖心情 Post By:2011/7/13 16:36:00 [只看该作者]

是不是可以在PostionChanged事件中,做判断
if current(字段) = A then
radioA.checked = true
else
radioB.checked = true
end if

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/13 16:38:00 [只看该作者]

可以,只是有必要这样吗?

 回到顶部
帅哥哟,离线,有人找我吗?
涛声依旧5666
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:252 积分:2193 威望:0 精华:0 注册:2011/6/28 16:50:00
  发帖心情 Post By:2011/7/13 17:20:00 [只看该作者]

楼上的方法,解决了在窗口浏览数据表时的情形,但是,若在窗口中输入,点击radiobutton,是不会刷新数据表的。郁闷!


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/7/13 17:24:00 [只看该作者]

radiobutton 不是有代码事件嘛··· 

 回到顶部
帅哥哟,离线,有人找我吗?
涛声依旧5666
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:252 积分:2193 威望:0 精华:0 注册:2011/6/28 16:50:00
  发帖心情 Post By:2011/7/13 17:34:00 [只看该作者]

本以为只要“绑定”,就可以双向同步了(就跟textbox等一样),现在要用代码,而且需要双向编写,有点累。.net中的部分功能被屏蔽了。

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/7/13 17:45:00 [只看该作者]

用复选框模拟单选框

普通用户可以忽略本节问题。

我们知道通过将RadioButton(单选框)放在不同的容器中,可以对其进行分组,同一容器中的多个单选框,其选中状态是互斥的,选中一个单选框,之前选中的同组单选框将被自动撤销选中状态。
这有一个问题,就是在打印窗口的时候,容器中的控件是不会打印的,所以所有的RadioButton必须直接置于窗口中,但只这样一来就不能对RadioButton分组。
这个问题是无解的,RadioButton置于容器中可以分组,但是不能打印,置于窗口中可以打印,但是不能分组。

我们只能用折中的方案来解决这个问题,用CheckBox(复选框)来模拟RadioButton,通过设置代码,使得选择某个复选框后,取消同一分组其它复选框的选中状态。

例如在窗口加入6个CheckBox,其中CheckBox1、CheckBox2、CheckBox3为一组,CheckBox3、CheckBox4、CheckBox5为一组,为了实现RadioButton的效果,可以在窗口的全局事件CheckedChanged加入代码:

Dim nm As String = e.Sender.Name
Select
Case nm
    Case
"CheckBox1","CheckBox2",
"CheckBox3"
   
    If e.Sender.Checked Then
            e.Form.Controls(
"CheckBox1").Checked = (nm = "CheckBox1")
            e.Form.Controls(
"CheckBox2").Checked = (nm = "CheckBox2")
            e.Form.Controls(
"CheckBox3").Checked = (nm = "CheckBox3")
        End
If
   
Case "CheckBox4","CheckBox5","CheckBox6"
       
If e.Sender.Checked Then
            e.Form.Controls(
"CheckBox4").Checked = (nm = "CheckBox4")
            e.Form.Controls(
"CheckBox5").Checked = (nm = "CheckBox5")
            e.Form.Controls(
"CheckBox6").Checked = (nm = "CheckBox6")
        End
If
End
Select

再次提示,上述代码必须设置在窗口的全局事件CheckedChanged中,而不是单个控件的CheckedChanged事件中。

 


 回到顶部