此主题相关图片如下: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编辑过]