Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]表格居中

1楼
狐哥 发表于:2009/4/29 14:57:00
Dim doc As New PrintDoc '定义一个报表
Dim
rt As New prt.RenderTable() '定义一个表格对象
???

能否帮我看一下如何将表格居中,不是表格内容居中.
因表格默认是靠左边的.
感谢.
2楼
狐狸爸爸 发表于:2009/4/29 15:09:00
Dim doc As New PrintDoc '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中
rt.width = 60
rt.x = "50%Parent.Width"
'下面的代码向表格中填入值
For r As integer = 0 to 5
    For c As integer = 0 to 5
        dim rx As New prt.RenderText '定义一个文本对象
        rx.Text = r & "," & c '为文本对象设置内容
        rt.Cells(r, c).RenderObject = rx '将文本对象放置在单元格中
    Next
Next
doc.Preview() '预览报表
3楼
yangming 发表于:2009/4/29 15:11:00
楼主的意思是说此表格在页面中居中?
4楼
狐哥 发表于:2009/4/29 15:21:00
以下是引用yangming在2009-4-29 15:11:00的发言:
楼主的意思是说此表格在页面中居中?

呵,是呢,横向居中.
狐爸的代码正在试,

5楼
狐哥 发表于:2009/4/29 15:45:00
rt.width = 60
rt.x = "50%Parent.Width"
这个不好,还不如自己调试,
tr.x = 30

因表格的行数是随TABLE动态的,如设置了TR.X,则下一个Rrendertable()要设置TOP.比如:

Dim doc As New PrintDoc '定义一个报表对象
Doc.PageSetting.LeftMargin = 10 '设置左边距
Doc.PageSetting.RightMargin = 10 '设置右边距
Doc.PageSetting.TopMargin = 20 '设置上边距
Doc.PageSetting.BottomMargin = 20 '设置下边距


Dim rm As New prt.RenderImage '定义一个图片对象
rm.Image = GetImage("logo.jpg") '设置图片
rm.Width = "Parent.Width" '宽度等于页面宽度
rm.Height = "Auto" '高度由图片大小自动决定
rm.Style.ImageAlign.StretchHorz = False '禁止图片水平拉伸
rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '居中显示

Dim rs As New prt.RenderText() '定义一个文本对象
rs.Text = "委托书"
rs.Style.Font = New Font("ARIAL", 18 , FontStyle.Bold) '设置文本对象的字体
rs.Style.TextAlignHorz = prt.AlignHorzEnum.Center '文本内容水平居中
doc.Body.Children.Add(rm) '将图片对象加入报表
doc.Body.Children.Add(rs) '将文本对象加入到表格中

Dim rt As New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中
rt.width = 60
rt.x = "50%Parent.Width"
...........略

Dim rt1 As New prt.RenderTable() '定义一个表格对象
rt1.Style.Spacing.Top = 20

如不设置TOP,则二个格会重叠在一起.不会按顺序rt1在rt 下面自动生成rendertable()
但有时rt有10行,有时只有一行,
则 rt  有时会与 tr1重叠,有时则空好多.

呵,不知有没有办法设置.

6楼
狐狸爸爸 发表于:2009/4/29 15:49:00
可以使用相对位置。
参考帮助文件“专业报表 - 报表基础 - 详解位置和尺寸”
7楼
yangming 发表于:2009/4/29 15:51:00
如果用了贺老师的代码,就没必要再设左右边距了
8楼
don 发表于:2009/4/29 16:03:00
以下是引用狐哥在2009-4-29 15:45:00的发言:
rt.width = 60
rt.x = "50%Parent.Width"
这个不好,还不如自己调试,
tr.x = 30

因表格的行数是随TABLE动态的,如设置了TR.X,则下一个Rrendertable()要设置TOP.比如:

Dim doc As New PrintDoc '定义一个报表对象
Doc.PageSetting.LeftMargin = 10 '设置左边距
Doc.PageSetting.RightMargin = 10 '设置右边距
Doc.PageSetting.TopMargin = 20 '设置上边距
Doc.PageSetting.BottomMargin = 20 '设置下边距


Dim rm As New prt.RenderImage '定义一个图片对象
rm.Image = GetImage("logo.jpg") '设置图片
rm.Width = "Parent.Width" '宽度等于页面宽度
rm.Height = "Auto" '高度由图片大小自动决定
rm.Style.ImageAlign.StretchHorz = False '禁止图片水平拉伸
rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '居中显示

Dim rs As New prt.RenderText() '定义一个文本对象
rs.Text = "委托书"
rs.Style.Font = New Font("ARIAL", 18 , FontStyle.Bold) '设置文本对象的字体
rs.Style.TextAlignHorz = prt.AlignHorzEnum.Center '文本内容水平居中
doc.Body.Children.Add(rm) '将图片对象加入报表
doc.Body.Children.Add(rs) '将文本对象加入到表格中

Dim rt As New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中
rt.width = 60
rt.x = "50%Parent.Width"
...........略

Dim rt1 As New prt.RenderTable() '定义一个表格对象
rt1.Style.Spacing.Top = 20

如不设置TOP,则二个格会重叠在一起.不会按顺序rt1在rt 下面自动生成rendertable()
但有时rt有10行,有时只有一行,
则 rt  有时会与 tr1重叠,有时则空好多.

呵,不知有没有办法设置.

可以根据Rt的行数动态设置rt1的Top 啊

9楼
狐哥 发表于:2009/4/29 16:45:00
以下是引用don在2009-4-29 16:03:00的发言:

可以根据Rt的行数动态设置rt1的Top 啊

这个办法好,贺老师的代码不会做,呵呵.总是重叠在一起.

共9 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04492 s, 2 queries.