以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 用什么代码实现最佳列宽 (已解决)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2372)

--  作者:gamtings
--  发布时间:2009/4/9 12:35:00
--  [求助] 用什么代码实现最佳列宽 (已解决)
各位高手,列宽设置里的那个“最佳列宽”按钮蛮有用的,用什么代码让列实现最佳列宽。
[此贴子已经被作者于2009-4-9 15:28:03编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/4/9 12:39:00
--  
没有提供代码。
双击列标题分界,可以快速自动列宽。
--  作者:gamtings
--  发布时间:2009/4/9 12:43:00
--  
建议老爹加一个自动实现的代码,有时候经常要去设置列宽,太麻烦了!
--  作者:don
--  发布时间:2009/4/9 13:12:00
--  
以下是引用gamtings在2009-4-9 12:43:00的发言:
建议老爹加一个自动实现的代码,有时候经常要去设置列宽,太麻烦了!

可以这样,不过Sendkeys的效率太低,不好用:
Dim Tb As Table = CurrentTable
For cl As integer = 0 to Tb.Cols.count-1
    Tb.Select(0,cl)
    Sendkeys.Send("{Tab 3} ")
    Syscmd.Column.Width()
Next


--  作者:gamtings
--  发布时间:2009/4/9 15:28:00
--  
谢谢don兄,参照你的代码稍加修改,已经搞定,再次感谢。
--  作者:czy
--  发布时间:2009/4/9 17:54:00
--  
可能这样速度好一些。

CurrentTable.Select(0,0,0,CurrentTable.Cols.Count-1)
Sendkeys.Send("{Tab 3} ")
Syscmd.Column.Width()
CurrentTable.Select(0,0)

--  作者:狐狸爸爸
--  发布时间:2009/4/9 17:56:00
--  

--  作者:don
--  发布时间:2009/4/9 18:08:00
--  
以下是引用狐狸爸爸在2009-4-9 17:56:00的发言:

高,原来可以如易表那样统一选定设置的


--  作者:gamtings
--  发布时间:2009/4/9 20:12:00
--  
以下是引用czy在2009-4-9 17:54:00的发言:
可能这样速度好一些。

CurrentTable.Select(0,0,0,CurrentTable.Cols.Count-1)
Sendkeys.Send("{Tab 3} ")
Syscmd.Column.Width()
CurrentTable.Select(0,0)

 Dim cl As integer = Tb.Cols.count-1
 If CurrentTable.Current IsNot Nothing then
Tb.Select(0,0,0,cl)
Sendkeys.Send("{Tab 3} ")
Syscmd.Column.Width()
End if

我是这样写的,不过看czy兄的更精简,复制了,谢谢大家的帮助!


--  作者:小小鸟
--  发布时间:2011/10/24 14:53:00
--  

2楼狐爸的建议让我又学习了一招,谢谢~~~