Foxtable(狐表)用户栏目专家坐堂 → 自定义报表设置表格行高问题请教


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

主题:自定义报表设置表格行高问题请教

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


加好友 发短信
等级:三尾狐 帖子:762 积分:5456 威望:0 精华:0 注册:2012/10/5 21:53:00
自定义报表设置表格行高问题请教  发帖心情 Post By:2023/11/29 9:42:00 [只看该作者]

自定义报表设置表格行高为AUTO,但是有些行内容很少,结果显示很窄,想有个最基本的保证行高,即如果auto的行高低于12,则行高为12,但是发现取不到设置成auto的行高值,这块怎么获取auto后的实际行高值

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/29 9:46:00 [只看该作者]

专业报表?贴出代码看看

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


加好友 发短信
等级:三尾狐 帖子:762 积分:5456 威望:0 精华:0 注册:2012/10/5 21:53:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/30 8:30:00 [只看该作者]

auto情况下没有办法获取实际高度,因为只有在生成报表之后才能有真正的高度。

简单的自己看看生成的报表,目测一下一行大概是几个字符,直接判断字符个数,比如一行大概20个字符,那么18个字符以下就设置高度为12

复杂的可以使用代码获取高度,大概:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=141497

 回到顶部