以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 表Load后在事件中自动设置 行宽度的疑问 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=126994) |
-- 作者:蓝色理想 -- 发布时间:2018/11/2 12:49:00 -- 表Load后在事件中自动设置 行宽度的疑问 目的: 想用事件实现 在表显示后,自动设置 行宽度 在 AfterLoadTableSetting 事件录入如下代码,发现 messagebox 提示事件运行了,但表的列宽度没按 参数设置。(设置参数代码将E参数直接修改为表名,运行没问题没问题) MessageBox.Show(e.Table.Name & "AfterLoadTablesetting run !") Tables(e.Table.Name).SetColVisibleWidth("账套期间|98|所属表名|111|所属ID|57|合同编号|112|附件名称|179|扩展名|52|附件大小|61|备注|98|申报用户|98|用户分组|98|申报日期|98|审核人员|98|审核日期|98|编辑者|98|是否结账|98") 请问如何解决?
|
-- 作者:蓝色理想 -- 发布时间:2018/11/2 13:00:00 -- 刚才又做了测试,把 用E参数提供的表名,直接用 字符串 “公用_附件”,填写上,就正常了。 用 if 函数 判断 E参数提供的表名 与 “公用_附件” 是否相等,提示也相等,但就是 设置无法正常运行。。。。。。 \'e.Table.Cols("附件名称").AllowEdit = False MessageBox.Show(e.Table.Name & "AfterLoadTablesetting run !") \'Tables("公用_附件").SetColVisibleWidth("账套期间|98|所属表名|111|所属ID|57|合同编号|112|附件名称|179|扩展名|52|附件大小|61|备注|98|申报用户|98|用户分组|98|申报日期|98|审核人员|98|审核日期|98|编辑者|98|是否结账|98") If e.Table.Name = "公用_附件" Then MessageBox.Show(e.Table.Name & "= 公用_附件 !") Else MessageBox.Show(e.Table.Name & "<> 公用_附件 !") End If Tables(e.Table.Name).SetColVisibleWidth("账套期间|98|所属表名|111|所属ID|57|合同编号|112|附件名称|179|扩展名|52|附件大小|61|备注|98|申报用户|98|用户分组|98|申报日期|98|审核人员|98|审核日期|98|编辑者|98|是否结账|98") |
-- 作者:蓝色理想 -- 发布时间:2018/11/2 13:07:00 -- 还有就是刚编辑好 事件代码,按确认保存后,可以看到代码正确的设置了列宽度。 我就在想,难道是用E 参数传递名字的必须要表已加载完毕?而 直接写 表名,不需要表加载完毕? 真是一个奇怪的问题啊 |
-- 作者:蓝色理想 -- 发布时间:2018/11/2 13:56:00 -- 这个问题还真需要解决,不然不方便用于自动载入 各用户设置 |
-- 作者:有点甜 -- 发布时间:2018/11/2 15:36:00 -- 测试了一下,这个问题无法解决。
在这个事件无法设置显示隐藏列。请换到其它地方变通处理。 |
-- 作者:蓝色理想 -- 发布时间:2018/11/2 15:52:00 -- 好的,若是有可能,请修复一下,这个事件用于载入 用户的表显示设置还是挺方便的,仔细研究了,表事件中要实现这个功能,只有这个事件才有可能 |