以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- SetColVisibleWidth不能按预期运行 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=153292) |
-- 作者:rjh4078 -- 发布时间:2020/8/6 11:46:00 -- SetColVisibleWidth不能按预期运行 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 -- 发布时间:2020/8/6 12:08:00 -- 另外发现 通过DataCols.Add 的列 在tables("日报明细")里有 但是在关联表 x.日报明细 里却没有 |
-- 作者:rjh4078 -- 发布时间:2020/8/6 12:14:00 -- 这个地方应该是个BUG 重新把x和日报明细关联一遍 DataCols.Add增加的列就会出现在x.日报明细中 运行上述代码正常 退出项目 又不行 再关联一遍 又OK |
-- 作者:有点蓝 -- 发布时间:2020/8/6 12:28:00 -- 我测试没有问题,请上传实例说明 |