Foxtable(狐表)用户栏目专家坐堂 → 请教:如何根据列名称或列内容自动获得最大列宽?


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

主题:请教:如何根据列名称或列内容自动获得最大列宽?

美女呀,离线,留言给我吧!
yangming
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
请教:如何根据列名称或列内容自动获得最大列宽?  发帖心情 Post By:2010/3/15 13:21:00 [显示全部帖子]

有时列名只有两个字,但是列中内容的字却很多,比如:部门列,有可能会有七八个或是十几个字,而合同结束时间,列名长,而内容却只有八位,那么,如何让系统自动根据情况选择列宽呢?如列名小于内容的宽度,就选内容的宽度,而如果内容小于列名,就选列名的宽度?
主要是用在窗口的表中
[此贴子已经被作者于2010-3-15 13:22:07编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/3/15 13:39:00 [显示全部帖子]

如何获得列宽呢?列宽和字符长度如何对应?

 回到顶部
美女呀,离线,留言给我吧!
yangming
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/3/15 15:29:00 [显示全部帖子]

还是无法比较,因为maxlength只对字符型有效
谢谢老师!
[此贴子已经被作者于2010-3-15 15:29:33编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/3/15 15:53:00 [显示全部帖子]

我只能是先这样做了:

Dim n,len As Integer
Dim s As Integer
For Each cl As DataCol In DataTables("RS_统计查询_Table2").DataCols
len = datatables("RS_统计查询_Table2").datacols(cl.name).maxlength
s = Tables("RS_统计查询_Table2").Cols(n).PrintWidth
If cl.name.Length < Math.Abs(len)
Tables("RS_统计查询_Table2").Cols(n).PrintWidth = Math.Abs(len)
Else
Tables("RS_统计查询_Table2").Cols(n).PrintWidth = cl.name.Length *5

End If
n = n + 1
Next


 回到顶部
美女呀,离线,留言给我吧!
yangming
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/3/17 12:46:00 [显示全部帖子]

以下是引用czy在2010-3-17 12:03:00的发言:
With CurrentTable
    .Select(0,0,0,.Cols.Count-1)
End With
Sendkeys.Send("{Tab 3}~")
RibbonTabs("Common").Groups("Data").Items("Other").Items("SetColumnWidth").PerformClick()

先收藏再研究,呵呵


 回到顶部