以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动标题行高问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119964)

--  作者:happyft
--  发布时间:2018/6/4 22:42:00
--  自动标题行高问题
Tables(dr("wintbN"))AutoSizeRows()  \'所有行自动行高
Tables(dr("wintbN")).AutoSizeHeaderRow()  \'自动设置标题行高
用上面的设置,表中数据及标题行都可以根据需要自动设置行高,

但如何行高指定一个固定值后,标题行高就会变的很高,自动标题行高不生效了,如下面
Tables(dr("wintbN")).DefaultRowHeight = 80 \'固定行高
Tables(dr("wintbN")).AutoSizeHeaderRow()  \'自动设置标题行高  (不能用Tables(dr("wintbN")).SetHeaderRowHeight(21,21)这样不通用)

如何实现指定固定值的行高后可以自动设置标题行高呢?

谢谢!


--  作者:有点蓝
--  发布时间:2018/6/4 23:19:00
--  
这个貌似没有办法,有底层的组件决定的,DefaultRowHeight的优先级最高。只能自己指定一个具体的高度值了
--  作者:HappyFt
--  发布时间:2018/6/4 23:38:00
--  
还有一种情况,就是表中可能有一个备注列,内容比较多,如果此时自动行高的话因备注列就变成行高太高很不适合,
能不能指定排除表中一些列才自动行高呢? 即自动行高时不考虑备注列


--  作者:有点甜
--  发布时间:2018/6/5 9:07:00
--  

这个意思?根据第二列设置行高

 

Dim t As Table = Tables("表A")
Dim  cname As String = "第二列"
Dim lc As Integer = t.cols(cname).index+1
Dim br As Integer = t.rows.count
t.grid.AutoSizeRows(0, lc, br, lc, 0, 0)


--  作者:HappyFt
--  发布时间:2018/6/5 9:07:00
--  
3楼的功能有办法实现吗?即排除一些列再自动自动行高,谢谢!
--  作者:有点甜
--  发布时间:2018/6/5 9:31:00
--  
参考4楼代码
--  作者:HappyFt
--  发布时间:2018/6/5 11:02:00
--  
不是根据某列自动行高,而是排除那一列按其他的列自动行高

图片点击可在新窗口打开查看此主题相关图片如下:自动行高问题.jpg
图片点击可在新窗口打开查看

如上图,当备注列的内容很多时,因为用了t.AutoSizeRows(),整个表只能看到一行了,就是想排除掉备注列根据其他所有列的内容自动行高

--  作者:有点甜
--  发布时间:2018/6/5 11:23:00
--  

1-5列,设置行高

 

Dim t As Table = Tables("表A")
Dim lc As Integer = 1
Dim br As Integer = t.rows.count
Dim rc As Integer = 5
t.grid.AutoSizeRows(0, lc, br, rc, 0, 0)


--  作者:HappyFt
--  发布时间:2018/6/5 11:41:00
--  
请帮忙说明一下  AutoSizeRows(0, lc, br, rc, 0, 0) 括号中六个参数分别指什么,谢谢!
--  作者:有点甜
--  发布时间:2018/6/5 12:07:00
--  
AutoSizeRows(起始行, 起始列, 结束行, 结束列, 0, 0)