以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  调整第一列宽度  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=128920)

--  作者:cd_tdh
--  发布时间:2018/12/18 11:49:00
--  调整第一列宽度

老师,有没办法自动调整第一列宽度?


--  作者:有点甜
--  发布时间:2018/12/18 11:53:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/1553.htm

 


--  作者:cd_tdh
--  发布时间:2018/12/18 12:10:00
--  

老师,不是这个意思,我是想根据窗口自动调整第一列列宽,不是根据内容调整列宽。

 

逻辑型,是否自动调整最后一列的宽度,以适用表宽。

示例:

Tables("表A").ExtendLastCol = True


--  作者:有点甜
--  发布时间:2018/12/18 12:26:00
--  

方法一:第一列移动到最后一列,执行 ExtendLastCol 后得到宽度,然后移动到第一列。

 

方法二:循环每一列计算宽度累加,table控件宽度减去各列的累加,即可。


--  作者:cd_tdh
--  发布时间:2018/12/20 13:52:00
--  
以下是引用有点甜在2018/12/18 12:26:00的发言:

方法一:第一列移动到最后一列,执行 ExtendLastCol 后得到宽度,然后移动到第一列。

 

方法二:循环每一列计算宽度累加,table控件宽度减去各列的累加,即可。

老师,我测试方法一无效呢?

方法二,我自适应的,获取到的msgbox(("主窗口_Table1").Grid.width)值不同啊。

[此贴子已经被作者于2018/12/20 14:41:16编辑过]

--  作者:有点甜
--  发布时间:2018/12/20 14:58:00
--  

1、测试了一下,确实无效;

 

2、方法二绝对有效,类似 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=104577&skin=0

 

3、不会用方法二,上传实例测试。


--  作者:cd_tdh
--  发布时间:2018/12/20 15:49:00
--  

就这样的啊

    .Cols("标题").Width = .Grid.Width - .Cols("发布日期").Width
    .Cols("发布日期").Width = 80

[此贴子已经被作者于2018/12/20 15:49:33编辑过]

--  作者:有点甜
--  发布时间:2018/12/20 18:34:00
--  

不会做,请把实例发上来测试。

 

 

 

 


--  作者:cd_tdh
--  发布时间:2018/12/21 9:26:00
--  
以下是引用有点甜在2018/12/20 18:34:00的发言:

不会做,请把实例发上来测试。

 

 

 

 

请老师看看

  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.foxdb

[此贴子已经被作者于2018/12/21 9:55:11编辑过]

--  作者:有点甜
--  发布时间:2018/12/21 9:45:00
--  

sizeChanged事件,写代码,如

 

Dim t As WinForm.Table = e.Form.Controls("Table1")
Dim w As Integer = 0
For Each c As object In t.Table.grid.Cols
    w += c.widthdisplay
Next
If w < t.width Then
    t.Table.grid.Cols(1).widthdisplay += t.width-w
End If