Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:幼狐 帖子:146 积分:1151 威望:0 精华:0 注册:2017/2/10 15:09:00
[求助]  发帖心情 Post By:2017/5/5 17:28:00 [只看该作者]

我有一个窗口,用于设置表A显示那些列。这个窗口上有3个checkbox控件,2个radiobutton控件,1个button控件。
当选择checkbox1时,第一列,第二列,第三列显示,
当选择checkbox2时,第四列,第五列,第六列显示,
当选择checkbox3时,第七列,第八列,第九列显示。
当选择radiobutton1时,第一列,第二列,第三列,第四列,第五列显示,
当选择radiobutton2时,第六列,第七列,第八列,第九列显示。
代码如下:
If chk1.checked=True Then
    Tables("表A").SetColVisibleWidth("第一列|98|第二列|98|第三列|98")
End If
If chk2.checked=True Then
    Tables("表A").SetColVisibleWidth("第四列|98|第五列|98|第六列|98")
End If
If chk3.checked=True Then
    Tables("表A").SetColVisibleWidth("第七列|98|第八列|98|第九列|98")
End If
If Forms("窗口").Controls("RadioButton1").checked=True Then
    Tables("表A").SetColVisibleWidth("第一列|98|第二列|98|第三列|98第四列|98|第五列|98")
End If
If Forms("窗口").Controls("RadioButton2").checked=True Then
    Tables("表A").SetColVisibleWidth("第六列|98第七列|98|第八列|98|第九列|98")
End If
。。。。。。。。。。。。
现在问题来了:
1.当有2个checkbox选中的时候,它只执行最后一个chkbox被选中的代码,而不是两个都执行。比如我同时选中了chkbox1和chkbox2,结果只显示四、五、六列,一、二、三列就不显示。请问该如何修改代码,使所有被选中的chkbox的代码都执行?
2.当我选中radiobutton,点击确定的时候,就出现运行错误,提示“已添加了具有相同键的项”,请问错在哪?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/5 17:35:00 [只看该作者]

代码这样写

 

Dim t As Table = Tables("表A")
For Each c As Col In t.Cols
    c.visible = False
Next
If chk1.checked=True Then
    t.Cols("第一列").visible = True
    t.Cols("第二列").visible = True
End If
If chk2.checked=True Then
    t.Cols("第一列").visible = True
    t.Cols("第五列").visible = True
    t.Cols("第十列").visible = True
End If


 回到顶部