Foxtable(狐表)用户栏目专家坐堂 → 如何判断列名的长度


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

主题:如何判断列名的长度

帅哥哟,离线,有人找我吗?
blackzhu
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
如何判断列名的长度  发帖心情 Post By:2013/2/19 14:16:00 [只看该作者]

  一个表 有N多列  我怎么找到某一个列的列名长度整个表内的列名长度为最长?


  不区分类型!
[此贴子已经被作者于2013-2-19 14:16:37编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/19 14:35:00 [只看该作者]

 一个一个比较呗。你想实现什么。

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/2/19 14:38:00 [只看该作者]

我想做个自动录入的窗口.但是标签对齐是个问题,所以需要找到最长列名的长度.  一个个比较?
[此贴子已经被作者于2013-2-19 14:38:24编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/2/19 14:46:00 [只看该作者]

是列名?列标题?还是列中数据的长度?显示的是列标题,列名是看不见的,如果想让长数据一目了然,还得看数据长度,看起来楼主的本意,是列标题吧?

 


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/19 14:54:00 [只看该作者]

以下是引用blackzhu在2013-2-19 14:38:00的发言:
我想做个自动录入的窗口.但是标签对齐是个问题,所以需要找到最长列名的长度.  一个个比较?
[此贴子已经被作者于2013-2-19 14:38:24编辑过]


那就遍历表所有的列,比较列名的长度呗。这里指的是字符个数,然后转成像素设置长度。
[此贴子已经被作者于2013-2-19 14:55:17编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/19 14:58:00 [只看该作者]

如果你想精确的话,或者可以这样确定长度。

得到字符最长的列名,然后设置都label中去,然后获取label的宽度(自适应)。以这个为标准设置其余label的宽度。

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/2/19 15:05:00 [只看该作者]

以下是引用lin_hailun在2013-2-19 14:58:00的发言:
如果你想精确的话,或者可以这样确定长度。

得到字符最长的列名,然后设置都label中去,然后获取label的宽度(自适应)。以这个为标准设置其余label的宽度。

  问题就是出在这里.对不齐   我已经找到列名的长度了


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/19 15:23:00 [只看该作者]

 既然得到了列名长度,给label设置width属性就行了。你的label是否设置自动大小=true?

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/2/19 15:31:00 [只看该作者]

当然指定了呀.

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/2/19 15:32:00 [只看该作者]

If frm.TableName = Frm.Name Then
    For Each cl As Col In Tables(frm.TableName).Cols
        Name  = Name &  "|" & cl.Name
        If Max < cl.Name.Length Then
            Max = cl.Name.Length
        End If
    Next
    Dim i As Integer = 0
    Dim Multi As String = Name
    Dim Values() As String
    Values = Multi.split("|")
    Dim rowCnts,colCnts As Integer
    For Index As Integer = 1 To Values.Length - 1
        Dim sb As WinForm.TextBox
        Dim sb1 As WinForm.Label
        Dim rq As WinForm.DateTimePicker
        Dim sh As WinForm.CheckBox
        If i Mod MaxColCnts = 0 Then
            RowCnts +=1
            ColCnts = 0
            offestWidth =0
        End If
        colCnts +=1
        sb = e.Form.CreateControl(Values(Index),ControlTypeEnum.TextBox)
        sb1 = e.Form.CreateControl(Values(Index),ControlTypeEnum.Label)
        sb1.Text = Values(Index).Padleft(Max," ") & ":"
        sb1.AutoSize = True
        sb1.Height = 25
        sb1.Width = Max +3
        sb1.TextAlign =ContentAlignment.MiddleRight
        sb1.Left =colcnts * 10 + offestWidth
        sb1.Top =Rowcnts * 10 + offestHeight
        frmWidth = Math.Max(frmWidth,sb1.left + sb1.width)
        frmHeight = Math.Max(frmHeight,sb1.Top + sb1.Height)


 回到顶部
总数 12 1 2 下一页