以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 自定义报表设置表格行高问题请教 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=189385) |
-- 作者:z769036165 -- 发布时间:2023/11/29 9:42:00 -- 自定义报表设置表格行高问题请教 自定义报表设置表格行高为AUTO,但是有些行内容很少,结果显示很窄,想有个最基本的保证行高,即如果auto的行高低于12,则行高为12,但是发现取不到设置成auto的行高值,这块怎么获取auto后的实际行高值 |
-- 作者:有点蓝 -- 发布时间:2023/11/29 9:46:00 -- 专业报表?贴出代码看看 |
-- 作者:z769036165 -- 发布时间:2023/11/29 19:20:00 -- Dim rt2 As New prt.RenderTable() \'定义一个表格对象 rt2.BreakBefore = prt.BreakEnum.Page \'打印之时另起一页 rt2.style.Padding.Top = 2 rt2.Style.GridLines.All = New prt.Linedef \'设置网格线 rt2.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中 rt2.Style.TextAlignVert = prt.AlignVertEnum.Center \'垂直居中 doc.Body.Children.Add(rt2) \'将表格对象加入到报表中 For Each dr As Row In tb.Rows rt2.Cells(i, 0).Text = dr("单号") rt2.Rows(i).Height = "AUTO" \'这个地方设置为自动行高 Output.Show(rt2.Rows(i).Height) \'显示结果为AUTO,想取到实际的高度 想实现如果高度不满足12则设置为12 IF rt2.Rows(i).Height < 12 THEN rt2.Rows(i).Height = 12 END IF next [此贴子已经被作者于2023/11/29 19:23:37编辑过]
|
-- 作者:有点蓝 -- 发布时间:2023/11/30 8:30:00 -- auto情况下没有办法获取实际高度,因为只有在生成报表之后才能有真正的高度。 简单的自己看看生成的报表,目测一下一行大概是几个字符,直接判断字符个数,比如一行大概20个字符,那么18个字符以下就设置高度为12 复杂的可以使用代码获取高度,大概:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=141497
|