| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1721 人关注过本帖, 1 人收藏
标题:VB6.0查询显示出来的数据,如何显示 自动调整列宽?
只看楼主 加入收藏
wangyiaihu
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2020-4-22
结帖率:100%
收藏(1)
已结贴  问题点数:10 回复次数:5 
VB6.0查询显示出来的数据,如何显示 自动调整列宽?
图片附件: 游客没有浏览图片的权限,请 登录注册


VB6.0查询显示出来的数据,如何显示 自动调整列宽,???????

请会的人,提供下代码/谢谢

[此贴子已经被作者于2020-5-3 16:14编辑过]

搜索更多相关主题的帖子: 自动 数据 调整 显示 列宽 
2020-05-03 16:05
wangyiaihu
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2020-4-22
收藏
得分:0 
Public Sub AdjustColWidth(frmCur As Form, gridCur As Object, Optional bNullRow As Boolean = True, Optional dblIncWidth As Double = 0)
'--------------------------------------------------------------------
'功能:
'      自动调整Grid各列列宽为最合适的宽度
'参数:
'      [frmCur].........................................当前工作窗体
'      [gridCur]........................................当前要调整的Grid
'--------------------------------------------------------------------
Dim i, j As Integer
Dim dblWidth As Double
    With gridCur
       For i = 0 To .Cols - 1
           dblWidth = 0
           If .ColWidth(i) <> 0 Then
               For j = 0 To .Rows - 1
                   If frmCur.TextWidth(.TextMatrix(j, i)) > dblWidth Then
                       dblWidth = frmCur.TextWidth(.TextMatrix(j, i))
                   End If
               Next
               .ColWidth(i) = dblWidth + dblIncWidth + 100
           End If
       Next
    End With
 
End Sub

网上找到了一个代码,说是放在模块中,但是怎么调用呢?请教,
2020-05-03 16:31
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:10 
非常简单:
   .ColWidth(X) = Y   'X是需要调整列宽的列数,Y是调整该列宽的宽度数
    例如 .ColWidth(2) = 2100   '将第二列的宽度调整为 2100 

请不要选我!!!
2020-05-03 20:10
wangyiaihu
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2020-4-22
收藏
得分:0 
回复 3楼 ZHRXJR
这是手动预设的方法,管用,但是还有一种自动调整的方法,如我上面发的那个代码,就是放在模块后,不会调用,
2020-05-04 14:38
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4938
专家分:30047
注 册:2008-10-15
收藏
得分:0 
AdjustColWidth(frmCur As Form, gridCur As Object, Optional bNullRow As Boolean = True, Optional dblIncWidth As Double = 0)

frmCur As Form, gridCur As Object
这个参数不解释了,已有说明

bNullRow 这个参数没找到使用的地方,所以无从解释
dblIncWidth  这个参数是留空宽度,计算出最长的长度后,然后再再加留空宽度
代码里 100 ,这里觉得不妥,在标准分辨率应该是 90 或 120 ,而不应该是100 。所以不知道代码里那个固定值 100 是怎么来的。

调用很简单
载入数据后,在本窗口里调用就下面这样的
1、最少参数:call AdjustColWidth( me , 控件名 )
2、完整参数:call AdjustColWidth( me , 控件名 , true , 0 )
注意,第三个参数到第四个参数可以省略,第四个参数有值时,那第三个参数如果省略的话,但逗号不能省。


授人于鱼,不如授人于渔
早已停用QQ了
2020-05-04 21:33
wangyiaihu
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2020-4-22
收藏
得分:0 
回复 5楼 风吹过b
自动调整列宽,你可以按照你的写法,把代码写给我吗?
2020-05-05 05:24
快速回复:VB6.0查询显示出来的数据,如何显示 自动调整列宽?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015836 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved