以文本方式查看主题

-  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=104711)

--  作者:home8225
--  发布时间:2017/8/3 15:39:00
--  自动行高
我用的这个代码

If e.Col.Name = "备注" Then
    e.
Table.AutoSizeRow(e.Row.Index)
End if

效果应该不是这样吧?输多输少都会变成这么高,是因为表格里备注内容最多的就有这么高,不是根据本行的内容来定的?自动后的行高不理想诶。。
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170803153649.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2017/8/3 15:40:04编辑过]

--  作者:有点甜
--  发布时间:2017/8/3 16:55:00
--  

 你想根据哪一列的内容调整行高?或者你改成,afterEdit

 

Dim t As Table = e.Table
Dim  cname As String = e.Col.name
Dim lc As Integer = t.cols(cname).index+1
Dim br As Integer = e.Row.index+t.HeaderRows
t.grid.AutoSizeRows(0, lc, br, lc, 0, 0)


--  作者:zhimin
--  发布时间:2017/10/27 1:24:00
--  
如果直接用甜老师这个代码的使用效果是:在同一行中,改动任何一列的数据,行高就会根据该列的行高自动调整。
如果改为:
If e.Col.Name="列名" Then
    Dim t As Table = e.Table
    Dim  cname As String = e.Col.name
    Dim lc As Integer = t.cols(cname).index+1
    Dim br As Integer = e.Row.index+t.HeaderRows
    t.grid.AutoSizeRows(0, lc, br, lc, 0, 0)
End If

则改动该列的数据,该行会自动调整行高,改动其他列行高无变化。
实在是好用。

--  作者:puma
--  发布时间:2024/2/26 12:35:00
--  
根据甜老师代码修改,设置指定行高

    Dim t As Table = Tables("表A")
    Dim lc As Integer = t.cols("备注").index+1
    Dim br As Integer = CurrentTable.Current.index+t.HeaderRows
    t.grid.AutoSizeRows(0, lc, br, lc, 0, 0)