以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]拉伸列问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=44452) |
-- 作者:mosquito1003 -- 发布时间:2013/12/31 15:41:00 -- [求助]拉伸列问题 双击2列的标题的交汇处,可以把该列自动调整到,该列中的内容最长的列宽处!请问,我现在有A表和B表,我希望双击A表中的2列的标题的交汇处,该列会按照B表中的同名列的内容最长的列宽处,该如何实现?请教高手们,想了一整夜了,还是没有头绪。 |
-- 作者:Bin -- 发布时间:2013/12/31 15:53:00 -- 这个不太好办呢. |
-- 作者:狐狸爸爸 -- 发布时间:2013/12/31 17:03:00 -- 打开项目后,表B先自动列宽: http://www.foxtable.com/help/topics/1554.htm
设置表A的这个事件: http://www.foxtable.com/help/topics/0652.htm
if Tables("表B").Cols.Contains(e.col.name) then e.col.width = Tables("表B").Cols(e.Col.name).Width end if |
-- 作者:Bin -- 发布时间:2013/12/31 17:05:00 -- BeforeResizeColumn 这个好东东怎么就被我忽略了呢 |
-- 作者:狐狸爸爸 -- 发布时间:2013/12/31 17:06:00 -- |
-- 作者:mosquito1003 -- 发布时间:2014/1/2 16:30:00 -- 狐狸爸爸的这个方法是一开后,表的初始化吧!能否在输入数据的过程中,我双击 A表中的2列的标题的交汇处,该列会按照B表中的同名列的内容最长的列宽处 |
-- 作者:Bin -- 发布时间:2014/1/2 16:30:00 -- 你双击表A 表A变化会触发BeforeResizeColumn事件 |
-- 作者:mosquito1003 -- 发布时间:2014/1/2 16:40:00 -- 关键是 BeforeResizeColumn事件的代码是 if Tables("表B").Cols.Contains(e.col.name) then
e.Cancel = True e.col.width = Tables("表B").Cols(e.Col.name).Width end if 此时的表B由于数据的加入已经不是原来刚刚打开表时的宽度的!这个就不对了,就无法达到是表B该列新的宽度了! |
-- 作者:Bin -- 发布时间:2014/1/2 16:43:00 -- AfterResizeColumn 那就用这个事件 |
-- 作者:mosquito1003 -- 发布时间:2014/1/2 16:48:00 -- 看来bin大爷不懂我的那个意思!请bin大爷帮忙做个例子,万分的谢谢! |