以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于记录窗口绑定的列显示和隐藏的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=160162)

--  作者:wangglby
--  发布时间:2021/1/22 20:18:00
--  关于记录窗口绑定的列显示和隐藏的问题

本人想编写个代码,想实现在记录窗口绑定的某一列,根据条件显示或隐藏,

 

 

如:

记录窗口RecordGrid1绑定了表A的第二列和第三列,

如果表A的第一列数值为1,则在记录窗口中隐藏第三列,

 

 

请教下代码怎么写。

 

 

[此贴子已经被作者于2021/1/22 23:11:00编辑过]

--  作者:有点蓝
--  发布时间:2021/1/23 9:11:00
--  
比如隐藏第三列:

Dim bctr = e.Form.Controls("RecordGrid1").BaseControl
bctr.Rows(2).visible = False

--  作者:wangglby
--  发布时间:2021/1/23 13:02:00
--  
窗口里关于表格内容的 语句不会写,这个完整的IF语句怎么写?
--  作者:有点蓝
--  发布时间:2021/1/23 14:07:00
--  
currentchanged事件

if forms(“xx窗口”).opened
Dim bctr = forms(“xx窗口”).Controls("RecordGrid1").BaseControl
if e.row("第一列") = 1 
bctr.Rows(2).visible = False
else
bctr.Rows(2).visible = true
end if
end if

--  作者:wangglby
--  发布时间:2021/1/23 15:11:00
--  
提示 ROW 不是 tableeventargs的成员
--  作者:有点蓝
--  发布时间:2021/1/23 15:17:00
--  
if forms(“xx窗口”).opened andalso e.table.current isnot nothing
Dim bctr = forms(“xx窗口”).Controls("RecordGrid1").BaseControl
if e.table.current("第一列") = 1 

--  作者:wangglby
--  发布时间:2021/1/23 18:32:00
--  

谢谢 蓝老师,

 

后来我发现,记录窗口中根据条件隐藏,需要隐藏的太多了,不如根据条件进行显示列方便。

 

 

 

 

 

我打算在窗口中增加1个按钮,事件为,当第一列的值为1时,记录窗口RecordGrid1绑定表A,并显示第二列,

当第一列的值为2时,记录窗口RecordGrid1绑定表A,并显示第三列,

 

 

谢谢,麻烦老师了

 

 


--  作者:有点蓝
--  发布时间:2021/1/24 20:28:00
--  
参考:http://www.foxtable.com/webhelp/topics/2455.htm
--  作者:wangglby
--  发布时间:2021/1/25 20:34:00
--  

RecordGrid1 = e.Form.CreateControl("lable1", ControlTypeEnum.RecordGrid)

If e.Table.current("下料_气割") = True Then

RecordGrid1.Table = Tables("表A") \'绑定到表A
RecordGrid1.Columns = "下料_板长|下料_板宽|下料_穿孔数"

RecordGrid1.Build() \'生成记录窗口
RecordGrid1.SetBounds(220,280,150,100) \'指定位置和尺寸
e.Form.AddControl(RecordGrid1)

End If

 

 

我写的代码不对,帮看看怎么改,谢谢


--  作者:有点蓝
--  发布时间:2021/1/25 20:53:00
--  
提示什么错误?

dim RecordGrid1 = e.Form.CreateControl("lable1", ControlTypeEnum.RecordGrid)