以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  项目发布  (http://foxtable.net/bbs/list.asp?boardid=5)
----  [求助]报表表格自动调整的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=5&id=157337)

--  作者:2425004926
--  发布时间:2020/10/12 17:53:00
--  [求助]报表表格自动调整的问题
 
图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看

我是想实现这样一个功能:第三行行高固定,第二行行高随字数多少自动,(第一行高度) = (三行总高(固定))- (第二行高度) -(第三行高度),如何实现?

\'定义报表
Dim doc As New PrintDoc \'定义一个报表
doc.PageSetting.PaperKind = 9 \'纸张类型改为A4
doc.PageSetting.Landscape = True \'横向打印
\'表格
Dim rt As New prt.RenderTable() \'定义一个表格对象
doc.Body.Children.Add(rt) \'将表格对象加入到报表中
rt.Style.GridLines.All = New prt.Linedef(Color.red) \'将表格的颜色设为深灰色
rt.Cols.Count = 1 \'设置列数
rt.cols(0).Width = 100  \'第一列宽

rt.Width = 100 \'设置表格的宽度
rt.height = 120
rt.rows(1).Height = "Auto"  \'第二行高度
rt.rows(2).Height = 10   \'第三行高度
\'rt.rows(0).Height = 120 - rt.rows(1).Height - rt.rows(2).Height  \'第一行高度

    \'图片
    Dim rm As New prt.RenderImage() \'定义一个图片对象
    Dim txt As String
    txt = Tables(e.Form.name & "_table1").Current("路径")
    rm.Image = GetImage(txt) \'请改为实际的图标名称和路径
    rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center \'图片水平居中
    rm.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center \'图片垂直居中
    rm.Style.ImageAlign.StretchHorz = True \'禁止水平方向扩展图片
    rm.Style.ImageAlign.StretchVert = True \'禁止垂直方向扩展图片
    
    \'题名
    Dim rx As New prt.RenderText \'创建一个文本
    rx.text = Tables(e.Form.name & "_table1").Current("题名")
    rt.Style.Font = New Font("宋体", 16, FontStyle.Bold) \'设置字体如果不设置字体,会出现导出PDF乱码
    rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
    rx.Style.TextAlignVert = prt.AlignVertEnum.Center \'垂直居下
    \'档案号
    Dim rx2 As New prt.RenderText \'创建一个文本
    rx2.text = Tables(e.Form.name & "_table1").Current("档案号")
    rx2.Style.FontBold = True \'字体加粗
    rx2.Style.FontSize = 16 \'字体大小为16磅
    rx2.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
    rx2.Style.TextAlignVert = prt.AlignVertEnum.Center \'垂直居下

    rt.Cells(0,0).RenderObject = rm \'将单元格内容设置为图片对象rm
    rt.Cells(1,0).RenderObject = rx \'设置单元格文本内容
    rt.Cells(2,0).RenderObject = rx2 \'设置单元格文本内容

Doc.Preview() \'预览报表
[此贴子已经被作者于2020/10/12 18:10:40编辑过]

--  作者:2425004926
--  发布时间:2020/10/13 11:08:00
--  
 帮帮忙,看这个问题怎么解决?