Foxtable(狐表)用户栏目专家坐堂 → [原创]隐显列的设置


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

主题:[原创]隐显列的设置

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


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
[原创]隐显列的设置  发帖心情 Post By:2022/4/12 14:56:00 [显示全部帖子]

各位大神:

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

 

 

 

                                                                                             谢谢


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


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
  发帖心情 Post By: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列不显示)


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


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
  发帖心情 Post By:2022/4/12 16:57:00 [显示全部帖子]

大师:

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


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


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
  发帖心情 Post By:2022/4/13 12:31:00 [显示全部帖子]

大师:

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

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

 

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


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


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
  发帖心情 Post By: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

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

 


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


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
  发帖心情 Post By:2022/4/18 13:50:00 [显示全部帖子]

关闭窗口后重新打开窗口输入订单款号查询


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


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
  发帖心情 Post By:2022/4/18 14:07:00 [显示全部帖子]

Dim ddkh As WinForm.ComboBox = e.Form.Controls("订单款号")
DataTables("订单主表").LoadFilter = "订单款号 = '" & ddkh.text & "'"
DataTables("订单主表").Load()
DataTables("颜色尺码").LoadFilter = "订单款号 = '" & ddkh.text & "'"
DataTables("颜色尺码").Load()
If DataTables("颜色尺码").DataRows.count > 0 AndAlso DataTables("颜色尺码").DataRows(0).IsNull("订单款号") Then
    MessageBox.Show("错误,第一行没有数据!")
    Tables("订单主表.颜色尺码").Cols("尺码66").Visible = True
End  If


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


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
  发帖心情 Post By:2022/4/18 17:10:00 [显示全部帖子]

大师:

 

If Tables("颜色尺码").Current("尺码66") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码66").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码66").Visible = False
End  If
If Tables("颜色尺码").Current("尺码73") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码73").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码73").Visible = False
End  If
If Tables("颜色尺码").Current("尺码80") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码80").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码80").Visible = False
End  If
If Tables("颜色尺码").Current("尺码90") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码90").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码90").Visible = False
End  If
If Tables("颜色尺码").Current("尺码100") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码100").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码100").Visible = False
End  If
If Tables("颜色尺码").Current("尺码110") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码110").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码110").Visible = False
End  If
If Tables("颜色尺码").Current("尺码120") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码120").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码120").Visible = False
End  If
If Tables("颜色尺码").Current("尺码130") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码130").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码130").Visible = False
End  If
If Tables("颜色尺码").Current("尺码140") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码140").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码140").Visible = False
End  If
If Tables("颜色尺码").Current("尺码150") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码150").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码150").Visible = False
End  If
If Tables("颜色尺码").Current("尺码160") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码160").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码160").Visible = False
End  If
If Tables("颜色尺码").Current("尺码165") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码165").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码165").Visible = False
End  If
If Tables("颜色尺码").Current("尺码170") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码170").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码170").Visible = False
End  If
If Tables("颜色尺码").Current("尺码175") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码175").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码175").Visible = False
End  If
If Tables("颜色尺码").Current("尺码180") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码180").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码180").Visible = False
End  If
If Tables("颜色尺码").Current("尺码185") > 0 Then
    Tables("订单主表.颜色尺码").Cols("尺码185").Visible = True
Else
    Tables("订单主表.颜色尺码").Cols("尺码185").Visible = False
End  If

 

我在颜色尺码表的AfterLoad中写这样的代码可以做到想要的效果,但是这样有点复杂,并且在删除查询框中的名称时会报错“未将对象引用设置到对象的实例”


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


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
  发帖心情 Post By:2022/4/18 17:30:00 [显示全部帖子]

大师:这么简单啊,谢谢,真的谢谢


 回到顶部