以文本方式查看主题

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

--  作者:sky-18
--  发布时间:2020/1/17 16:39:00
--  专业报表里的表格行高问题
如题,在专业报表里有一个表格。我想获取表格某行的高度。
于是用了这样的代码:Dim gd As Double = rtb.Rows(n).Height 
结果报错!
于是用messagebox.show(rtb.Rows(n).Height ) 查看,得到的高度是“AUTO”
于是我懵逼了,,虽然我知道行高是自动的,但是此时已经将内容写入表格了呀,按理说就一定能有一个确定的数值呀。
是不是代码不对?
请老师指点迷津。

--  作者:sky-18
--  发布时间:2020/1/17 16:57:00
--  
顶上去
--  作者:有点蓝
--  发布时间:2020/1/17 17:11:00
--  
“AUTO”的意思就是行高是不固定的,根据表格的高度,以及本行其它单元格的高度自动扩展。除非显式指定行高的值,否则是无法获取的。

如果要获取单元格里面需要打印的文字的高度,参考:
dim 打印的字体 as string = new font("宋体",12)
dim 打印宽度 as string =100
msgbox(basemainform.CreateGraphics.MeasureString("打印内容",打印的字体,打印宽度).height)

--  作者:sky-18
--  发布时间:2020/1/17 17:15:00
--  
那么我能不能自己设定某行的高度呢?
因为在行的合并模式下,自动行高会失效(具体说来就是会忽略被合并的列,这样在一些情况下被合并的列的信息有可能会丢失,打印不出来)。我只有通过代码来自己设置行高。

--  作者:有点蓝
--  发布时间:2020/1/17 17:24:00
--  
http://www.foxtable.com/webhelp/topics/1204.htm
--  作者:sky-18
--  发布时间:2020/1/17 17:41:00
--  
最后问老师一个问题,这个得到的数字的单位是毫米吗?还是什么?
--  作者:有点蓝
--  发布时间:2020/1/17 20:20:00
--  
专业报表里的尺寸默认都是毫米