以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]专业报表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65565) |
-- 作者:xxk02 -- 发布时间:2015/3/18 14:59:00 -- [求助]专业报表 在专业报表中,定义1个报表rb,并也某单元格为容器: ra = rb.cell(r,c).Area 在容器ra中加入几个文本对象。 请问如何将加入的文本对象在单元各种垂直居中? 我试写了几个代码,一是统一用表属性设置不起作用,设置单元格的属性也不起作用 设置文本对象垂直居中也不起作用。 |
-- 作者:Bin -- 发布时间:2015/3/18 15:02:00 -- http://www.foxtable.com/help/topics/1185.htm |
-- 作者:xxk02 -- 发布时间:2015/3/18 15:09:00 -- 我的容器是单元格,容器中有多个文本对象,采用循环对单个文本对象设置了垂直居中,但没起作用 |
-- 作者:Bin -- 发布时间:2015/3/18 15:10:00 -- 你用容器,按照帮助的做,然后再把这个容器,添加进单元格 |
-- 作者:有点甜 -- 发布时间:2015/3/18 15:11:00 -- 请贴出写的代码,可以单独运行的。 |
-- 作者:xxk02 -- 发布时间:2015/3/18 16:38:00 --
下列代码中,第1列垂直居中,第二列不垂直居中
Dim doc As New PrintDoc Dim rt As New prt.RenderTable Dim ra As prt.RenderArea Dim ra1 As prt.RenderArea Dim rm As prt.RenderImage Dim rx As prt.RenderText rt.Style.GridLines.All = New prt.LineDef rt.CellStyle.Spacing.All = 1 \'单元格内容和网格线距离1毫米 rt.Cols.Count = 3 \'总列数为3 For i As Integer = 0 To 3 ra = rt.Cells(i,0).Area \'引用单元格的容器
\'设置文本对象 For s As Integer = 0 To 3 rx = New prt.RenderText \'创建一个文本 rx.Text = "那就叫你" rx.Style.TextAlignVert = prt.AlignVertEnum.Center \'文本垂直居中 rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center rx.Style.Spacing.Bottom = 1 \'距离下边的对象2毫米 ra.Children.Add(rx) \'加入文本到RenderArea中 Next
ra1 = rt.Cells(i,1).Area \'引用单元格的容器
\'设置文本对象 rx = New prt.RenderText \'创建一个文本 rx.Text = "那就叫你ddddddddd" rx.Style.TextAlignVert = prt.AlignVertEnum.Center \'文本垂直居中 rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center rx.Style.Spacing.Bottom = 1 \'距离下边的对象2毫米 ra1.Children.Add(rx) \'加入文本到RenderArea中
doc.Body.Children.Add(rt) Doc.Preview() |
-- 作者:xxk02 -- 发布时间:2015/3/18 17:00:00 -- 请老师看一下,这个问题如何解决? |
-- 作者:xxk02 -- 发布时间:2015/3/18 17:20:00 -- 请各位老师指教! |
-- 作者:有点甜 -- 发布时间:2015/3/18 17:28:00 -- Dim doc As New PrintDoc Dim rt As New prt.RenderTable Dim ra As prt.RenderArea Dim ra1 As prt.RenderArea Dim rm As prt.RenderImage Dim rx As prt.RenderText rt.Style.GridLines.All = New prt.LineDef rt.CellStyle.Spacing.All = 1 \'单元格内容和网格线距离1毫米 rt.Cols.Count = 3 \'总列数为3 For i As Integer = 0 To 3
Doc.Preview() |
-- 作者:xxk02 -- 发布时间:2015/3/19 9:59:00 -- 上述代码解决了问题,但是不太明白,不知引用单元格的容器,在定义格式和老师的代码有什么区别,请解释一下
ra = rt.Cells(i,0).Area \'引用单元格的容器
rt.Cells(i,0).RenderObject = rx |