Foxtable(狐表)用户栏目专家坐堂 → SetColVisibleWidth不能按预期运行


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

主题:SetColVisibleWidth不能按预期运行

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


加好友 发短信
等级:狐精 帖子:3355 积分:24732 威望:0 精华:0 注册:2012/3/26 21:47:00
SetColVisibleWidth不能按预期运行  发帖心情 Post By:2020/8/6 11:46:00 [只看该作者]

Dim t As Table=Tables("日报.日报明细")
If t.DataTable.DataCols.Contains("-") = False Then
    t.DataTable.DataCols.Add("-",Gettype(String),1)
    t.Cols("-").Width = 24
    t.Cols("-").Move(0)
    t.Cols.Frozen = 1
End If
Functions.Execute("当前操作员表格式",t.name) ''加载当前操作员个性化表格式
Dim s as string=t.GetColVisibleWidth()
Messagebox.show(s) ''s1
s= "-|24|" & s
Messagebox.show(s) ''s2
t.SetColVisibleWidth(s)

这段代码放在了窗口的afterload事件中 目的是在操作员自定义列格式前加一个系统强制列“-” ,s1=“单号|120|填报人|120”,s2="-|24|单号|120|填报人|120" 但是 显示的结果 还是s1的结果
通过代码

For Each c  As Col In Tables("日报明细").cols
If c.name="-" Then
output.show(c.name)
End If
Next
能显示“-“列
但是通过代码1 2 3
1:
For Each c  As Col In Tables("日报.日报明细").cols
If c.name="-" Then
output.show(c.name)
End If
Next
2:
For Each c  As Col In Tables("印刷日报.印刷日报明细").cols
If c.Visible=False then
output.show(c.name)
End If
Next
3:
For Each c  As Col In Tables("印刷日报.印刷日报明细").cols
If c.Visible then
output.show(c.name)
End If
Next
发现不存在”-“列
通过代码 Tables("日报.日报明细").SetColVisibleWidth("-|24") 强制显示 所有列都无法显示

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


加好友 发短信
等级:狐精 帖子:3355 积分:24732 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2020/8/6 12:08:00 [只看该作者]

另外发现 通过DataCols.Add 的列 在tables("日报明细")里有 但是在关联表 x.日报明细 里却没有

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


加好友 发短信
等级:狐精 帖子:3355 积分:24732 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2020/8/6 12:14:00 [只看该作者]

这个地方应该是个BUG  重新把x和日报明细关联一遍  DataCols.Add增加的列就会出现在x.日报明细中 运行上述代码正常 退出项目 又不行 再关联一遍 又OK

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/6 12:28:00 [只看该作者]

我测试没有问题,请上传实例说明

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


 回到顶部