以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于显示列的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71071)

--  作者:hongyefor
--  发布时间:2015/7/4 11:38:00
--  关于显示列的问题

图片点击可在新窗口打开查看此主题相关图片如下:复选框.jpg
图片点击可在新窗口打开查看
当在复选框1上打勾时显示第三列,取消打勾是隐藏第三列,请问这个代码怎么写啊
--  作者:blsu33
--  发布时间:2015/7/4 12:23:00
--  
Dim ck1 As WinForm.CheckBox = e.Form.Controls("CheckBox1")
Dim tb As Table=Tables("***")
If ck1.Checked Then
    tb.Cols("第三列").Visible=True
Else
    tb.Cols("第三列").Visible=False
End If

--  作者:y2287958
--  发布时间:2015/7/4 15:18:00
--  
Tables("***").Cols("第三列").Visible=e.Form.Controls("CheckBox1").Checked
--  作者:hongyefor
--  发布时间:2015/7/5 19:52:00
--  

Dim ck1 As WinForm.CheckBox = e.Form.Controls("CheckBox1")
Dim tb As Table=Tables("订单主表.订单数量明细")
If ck1.Checked Then
    tb.Cols("T80").Visible=True
Else
    tb.Cols("T80").Visible=False
End If

这是关联表的显示列代码

 

比如说,订单主表和订数量单明细关联,关联列为“合同号”列,在窗口里有一个CheckBox,当我点击时只针对该合同号的指定列(比如说“T80”)起作用,点击别的合同号不起作用(比如说别的合同号是隐藏“T90”列)

请问这样可以吗?

 


--  作者:czy
--  发布时间:2015/7/5 20:11:00
--  
你可以将该CheckBox控件的CheckedChanged事件代码设成:

Dim r As Row = Tables("订单主表").Current
If Tables("订单主表.订单数量明细").Cols.Contains(r("合同号")) Then
    Tables("订单主表.订单数量明细").Cols(r("合同号")).Visible = e.Sender.Checked
End If
[此贴子已经被作者于2015/7/5 20:13:25编辑过]

--  作者:hongyefor
--  发布时间:2015/7/5 20:21:00
--  

Dim ck1 As WinForm.CheckBox = e.Form.Controls("CheckBox1")
Dim tb As Table=Tables("订单主表.订单数量明细")
If ck1.Checked Then
    tb.Cols("T80").Visible=True
Else
    tb.Cols("T80").Visible=False
End If

 

那这个代码放哪?


--  作者:hongyefor
--  发布时间:2015/7/5 20:27:00
--  

感觉不像我要的

最好的是,比如说有两个订单分别为“1001101”,“1001102”各自无关,“1001101”隐藏的是T80列,“1001102”隐藏的是T90列,当点击“1001101”其隐藏的是“T80“的列,如果点击"1001102”订单时”T80“自动显示”T90“隐藏,


--  作者:czy
--  发布时间:2015/7/5 20:29:00
--  
如果关联明细表中真有这样一个标识列,完全可以根据该列的内容来隐藏或显示所需的列,那么楼上的代码可以不用了。
--  作者:hongyefor
--  发布时间:2015/7/5 20:35:00
--  
图片点击可在新窗口打开查看不会啊
--  作者:czy
--  发布时间:2015/7/5 20:40:00
--  
发文件上来。