以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  AutoSizeCols对备注列如何处理  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=82324)

--  作者:Fotable
--  发布时间:2016/3/15 21:41:00
--  AutoSizeCols对备注列如何处理
AutoSizeCols会对备注列 
弄的非常宽吗,
这可不是我们想要的自动效果呀。

--  作者:大红袍
--  发布时间:2016/3/15 22:41:00
--  

1、这种问题测试一遍就知道啊;

 

2、不会对备注列有影响;

 

3、你可以AutoSizeCols以后单独设置某列的宽度。或者是AutoSizeCol单独设置某些列自动宽啊


--  作者:Fotable
--  发布时间:2016/3/17 16:26:00
--  
我测试的结果就是 自动列宽后,备注列变得非常的宽了。
图片点击可在新窗口打开查看此主题相关图片如下:2016-03-17_162532.jpg
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/3/17 17:14:00
--  

比如可以这样处理

 

Dim t As Table = Tables("表A")
t.AutoSizeCols
For Each c As Col In t.cols
    If c.IsString AndAlso c.DataCol.MaxLength = -1 Then
        c.width = 20
    End If
Next


--  作者:Fotable
--  发布时间:2016/3/20 13:53:00
--  
以下是引用大红袍在2016/3/17 17:14:00的发言:

比如可以这样处理

 

Dim t As Table = Tables("表A")
t.AutoSizeCols
For Each c As Col In t.cols
    If c.IsString AndAlso c.DataCol.MaxLength = -1 Then
        c.width = 20
    End If
Next



刚测试了 此方法无效,备注列的maxlength并不是-1 ,而是数据库决定的一个最大的值 是一个很大的数字。


--  作者:大红袍
--  发布时间:2016/3/21 0:04:00
--  

那既然是一个很大的数字,那么就可以判断了啊。

 

If c.IsString AndAlso c.DataCol.MaxLength > 255 Then