Foxtable(狐表)用户栏目专家坐堂 → 关于记录窗口绑定的列显示和隐藏的问题


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

主题:关于记录窗口绑定的列显示和隐藏的问题

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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
关于记录窗口绑定的列显示和隐藏的问题  发帖心情 Post By:2021/1/22 20:18:00 [显示全部帖子]

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

 

 

如:

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

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

 

 

请教下代码怎么写。

 

 

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

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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2021/1/23 13:02:00 [显示全部帖子]

窗口里关于表格内容的 语句不会写,这个完整的IF语句怎么写?

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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2021/1/23 15:11:00 [显示全部帖子]

提示 ROW 不是 tableeventargs的成员

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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2021/1/23 18:32:00 [显示全部帖子]

谢谢 蓝老师,

 

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

 

 

 

 

 

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

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

 

 

谢谢,麻烦老师了

 

 


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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By: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

 

 

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


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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2021/1/25 21:10:00 [显示全部帖子]

Dim RecordGrid1 As WinForm.RecordGrid
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

 
提示见附件


图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2021/1/26 20:47:00 [显示全部帖子]

谢谢 IF语句可以了,再请问下,关闭某一个记录窗口代码怎么写?

 

下面是帮助里的代码,但我想只关闭RecordGrid1,RecordGrid2和3保留,

 

 

 

Tables("表A").CloseRecordGrid()


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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2021/1/26 22:41:00 [显示全部帖子]

最终考虑了,决定使用一下代码,但条件不执行,没反应,也不报错,请帮看看,谢谢

 

Dim RecordGrid1 As WinForm.RecordGrid = e.Form.Controls("RecordGrid1")

Tables("表A").Cols("下料_穿孔数").ShortCaption = "穿孔数" ' 指定缩写
Tables("表A").Cols("下料_板长").ShortCaption = "板长" ' 指定缩写
Tables("表A").Cols("下料_板宽").ShortCaption = "板宽" ' 指定缩写
If Tables("表A").current("下料_气割")= True Then

Tables("表A").Cols("下料_穿孔数").ShowInRecordGrid = True

Else


Tables("表A").Cols("下料_穿孔数").ShowInRecordGrid = False
End If

RecordGrid1.Table = Tables("表A") '绑定到表A


RecordGrid1.Columns = "下料_板长|下料_板宽|下料_穿孔数"

RecordGrid1.Build() '生成记录窗口


 回到顶部