以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [原创]隐显列的设置  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=176411)

--  作者:Cloud
--  发布时间:2022/4/12 14:56:00
--  [原创]隐显列的设置

各位大神:

          有一个主表ID与子表ID关联,子表有10列分别为:1,2,3,4,5,6,7,8,9,10 ,初始只固定显示:1,2,3列,后面的列根据需要让它显示并填入数据,保存后退出系统,再次打开窗口查询还能正常显示数据

 

 

 

                                                                                             谢谢


--  作者:有点蓝
--  发布时间:2022/4/12 15:12:00
--  
参考:http://www.foxtable.com/webhelp/topics/0572.htm
--  作者:Cloud
--  发布时间:2022/4/12 15:36:00
--  

接上:

        后面的列根据需要(比如:单号123中需要显示4,5,6列并有数据,重新查询后4,5,6列能显示出来。单号456中需要显示7,8,9,10列并有数据,重新查询后7,8,9,10列能显示出来,而4,5,6列不显示)


--  作者:有点蓝
--  发布时间:2022/4/12 15:47:00
--  
查询后使用代控制不就行了,比如

Tables("订单").Cols("1").Visible = False
Tables("订单").Cols("4").Visible = true

--  作者:Cloud
--  发布时间:2022/4/12 16:57:00
--  

大师:

       查询后能不能判断为有数据显示,无数据不显示,这样代码怎么写


--  作者:有点蓝
--  发布时间:2022/4/12 17:09:00
--  
判断单元格有没有数据参考:http://www.foxtable.com/webhelp/topics/0426.htm


--  作者:Cloud
--  发布时间:2022/4/13 12:31:00
--  

大师:

我在“颜色尺码”表的“Afterload"中写入:

If  DataTables("颜色尺码").DataRows(0).IsNull("订单款号") Then
    MessageBox.Show("错误,第一行没有数据!")
    Tables("订单主表.颜色尺码").Cols("尺码66").Visible = True
End  If

 

报错:索引超出了数组界限


--  作者:有点蓝
--  发布时间:2022/4/13 13:32:00
--  
If e.DataTable.DataRows.count > 0 andalso  e.DataTable.DataRows(0).IsNull("订单款号") Then
    MessageBox.Show("错误,第一行没有数据!")
    Tables("订单主表.颜色尺码").Cols("尺码66").Visible = True
End  If
--  作者:Cloud
--  发布时间:2022/4/18 13:43:00
--  
If e.DataTable.DataRows.count > 0 andalso  e.DataTable.DataRows(0).IsNull("订单款号") Then
    MessageBox.Show("错误,第一行没有数据!")
    Tables("订单主表.颜色尺码").Cols("尺码66").Visible = True
End  If

这个代码写好后,重新查询也不会显示的数据的列出来

 


--  作者:有点蓝
--  发布时间:2022/4/18 13:49:00
--  
怎么做的“重新查询”?