以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  专业表的水平居中和垂直居中  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=122714)

--  作者:susu312
--  发布时间:2018/7/31 19:26:00
--  专业表的水平居中和垂直居中

rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
rx.Style.TextAlignVert = prt.AlignVertEnum.Center \'垂直居中

老师,我用这两句还是没有水平居中?


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2018/7/31 20:33:00
--  
请贴出完整代码!
--  作者:susu312
--  发布时间:2018/7/31 22:49:00
--  

Dim ra As prt.RenderArea
\'ra = rt.Cells(15,0).Area \'引用单元格的容器 我把这个注释掉了,因为用的话,就一个方框套表格,我不想要外面的方框
Dim rt1 As New prt.RenderTable() \'定义一个表格对象
Dim rx1 As New prt.RenderText \'定义一个文本对象
Dim CurRow1 As Row = Tables("family").Current
\'加入标题
rx1.text = "家庭人员信息表"
rx1.Style.FontBold = True \'字体加粗
rx1.Style.FontSize = 16 \'大体大小为16磅
rx1.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
rt1.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
rt1.Style.TextAlignVert = prt.AlignVertEnum.Center \'垂直居中
rx1.Style.Spacing.Bottom = 3 \'和下面的对象(表格)距离3毫米
 
\'指定行数?列数?列宽?行高
rt1.Rows.Count = 7 \'设置总行数
rt1.Cols.Count = 6 \'设置总列数
rt1.Height = 80 \'设置表格的高度为80毫米
rt1.Rows(6).Height = 20 \'设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行

rt1.Cols(0).Width = 20 \'设置前四列的宽度,
rt1.Cols(1).Width = 20 \'设置前四列的宽度,
rt1.Cols(2).Width = 18 \'设置前四列的宽度,
rt1.Cols(3).Width = 22 \'设置前四列的宽度,
rt1.Cols(4).Width = 25
 

\'设置表格样式
rt1.CellStyle.Spacing.All = 1 \'单元格内容缩进1毫米
rt1.Style.GridLines.All = New prt.Linedef \'设置网格线
rt1.Style.TextAlignVert = prt.AlignVertEnum.Center \'内容垂直居中
rt1.Rows(6).Style.TextAlignVert = prt.AlignVertEnum.Top \'唯独第7行是备注,内容靠上对齐


\'下面很简单,指定每一个单元格的内容
rt1.Cells(0,0).Text= "关系"
rt1.Cells(0,1).Text= "姓名"
rt1.Cells(0,2).Text= "年龄"
rt1.Cells(0,3).Text= "政治面貌"
rt1.Cells(0,4).Text= "联系方式"
rt1.Cells(0,5).Text= "工作单位"
ra.Children.Add(rt1)
ra.Children.Add(rx1)


doc.Body.Children.Add(rt) \'将表格对象加入到报表中
doc.Body.Children.Add(ra)
Doc.Preview() \'预览报表

 

 

老师,我制作专业报表

 

1、先做了一页报表

2、在第二页我做了一个表格对象和一个文本对象,然后我把这两加入容器,再把容器加入报表?

但是报错,未将对象引用到对象实例,


--  作者:有点蓝
--  发布时间:2018/7/31 23:04:00
--  
Dim ra As new prt.RenderArea 

没看出3楼的代码和1楼的问题有什么关系

--  作者:susu312
--  发布时间:2018/8/1 9:07:00
--  

Dim ra As new prt.RenderArea
Dim rt1 As New prt.RenderTable() \'定义一个表格对象
Dim rx1 As New prt.RenderText \'定义一个文本对象
\'加入标题
rx1.text = "家庭人员信息表"
rx1.Style.FontBold = True \'字体加粗
rx1.Style.FontSize = 16 \'大体大小为16磅
rx1.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
rt1.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
rt1.Style.TextAlignVert = prt.AlignVertEnum.Center \'垂直居中
rx1.Style.Spacing.Bottom = 3 \'和下面的对象(表格)距离3毫米
 
\'指定行数?列数?列宽?行高
rt1.Rows.Count = 6 \'设置总行数
rt1.Cols.Count = 6 \'设置总列数
rt1.Height = 60 \'设置表格的高度为80毫米
 

rt1.Cols(0).Width = 20 \'设置前四列的宽度,
rt1.Cols(1).Width = 20 \'设置前四列的宽度,
rt1.Cols(2).Width = 18 \'设置前四列的宽度,
rt1.Cols(3).Width = 22 \'设置前四列的宽度,
rt1.Cols(4).Width = 25
 

\'设置表格样式
rt1.CellStyle.Spacing.All = 1 \'单元格内容缩进1毫米
rt1.Style.GridLines.All = New prt.Linedef \'设置网格线
rt1.Style.TextAlignVert = prt.AlignVertEnum.Center \'内容垂直居中
rt1.Rows(6).Style.TextAlignVert = prt.AlignVertEnum.Top \'唯独第7行是备注,内容靠上对齐


\'下面很简单,指定每一个单元格的内容
rt1.Cells(0,0).Text= "关系"
rt1.Cells(0,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列
rt1.Cells(0,1).Text= "姓名"
rt1.Cells(0,1).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列
rt1.Cells(0,2).Text= "年龄"
rt1.Cells(0,2).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列
rt1.Cells(0,3).Text= "政治面貌"
rt1.Cells(0,3).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列
rt1.Cells(0,4).Text= "联系方式"
rt1.Cells(0,4).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列
rt1.Cells(0,5).Text= "工作单位"
rt1.Cells(0,5).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列

 

 

//这里是表格绑定的代码

\'Dim CurRow1 As Row = Tables("person.family").Current
Dim tb As Table = Tables("family")
Dim ColNames As String() = New String(){"guanXi", "name","age", "political", "tel","job"}
For c As Integer = 0 To ColNames.Length -1
    rt1.Cells(0,c).Text = ColNames(c)
    rt1.Cols(c).Width = tb.Cols(ColNames(c)).PrintWidth
    rt1.Cells(1, c).Text = "[Fields!" & ColNames(c) & ".Value]" \'设置绑定表达式
Next

 

 

ra.Children.Add(rx1)
ra.Children.Add(rt1)
doc.Body.Children.Add(rt) \'将表格对象加入到报表中
doc.Body.Children.Add(ra)

 

老师:

1、数据库里,人员信息是一个表,家庭信息是一个表,之间用户主身份证建立关联,

2、报表家庭信息因此写入的应该是本人的家庭信息,

我绑定但是出错了,请老师指导一下

 


--  作者:有点甜
--  发布时间:2018/8/1 9:10:00
--  

这样测试没问题。你以后有问题,请贴出完整的、可以执行的代码测试。

 

Dim doc As new PrintDoc
Dim ra As new prt.RenderArea
\'ra = rt.Cells(15,0).Area \'引用单元格的容器 我把这个注释掉了,因为用的话,就一个方框套表格,我不想要外面的方框
Dim rt1 As New prt.RenderTable() \'定义一个表格对象
Dim rx1 As New prt.RenderText \'定义一个文本对象
\'Dim CurRow1 As Row = Tables("family").Current
\'加入标题
rx1.text = "家庭人员信息表"
rx1.Style.FontBold = True \'字体加粗
rx1.Style.FontSize = 16 \'大体大小为16磅
rx1.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
rt1.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
rt1.Style.TextAlignVert = prt.AlignVertEnum.Center \'垂直居中
rx1.Style.Spacing.Bottom = 3 \'和下面的对象(表格)距离3毫米
 
\'指定行数?列数?列宽?行高
rt1.Rows.Count = 7 \'设置总行数
rt1.Cols.Count = 6 \'设置总列数
rt1.Height = 80 \'设置表格的高度为80毫米
rt1.Rows(6).Height = 20 \'设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行

rt1.Cols(0).Width = 20 \'设置前四列的宽度,
rt1.Cols(1).Width = 20 \'设置前四列的宽度,
rt1.Cols(2).Width = 18 \'设置前四列的宽度,
rt1.Cols(3).Width = 22 \'设置前四列的宽度,
rt1.Cols(4).Width = 25
 

\'设置表格样式
rt1.CellStyle.Spacing.All = 1 \'单元格内容缩进1毫米
rt1.Style.GridLines.All = New prt.Linedef \'设置网格线
rt1.Style.TextAlignVert = prt.AlignVertEnum.Center \'内容垂直居中
rt1.Rows(6).Style.TextAlignVert = prt.AlignVertEnum.Top \'唯独第7行是备注,内容靠上对齐


\'下面很简单,指定每一个单元格的内容
rt1.Cells(0,0).Text= "关系"
rt1.Cells(0,1).Text= "姓名"
rt1.Cells(0,2).Text= "年龄"
rt1.Cells(0,3).Text= "政治面貌"
rt1.Cells(0,4).Text= "联系方式"
rt1.Cells(0,5).Text= "工作单位"

rt1.Cells(1,5).Text= "工作单位"
ra.Children.Add(rt1)
ra.Children.Add(rx1)


\'doc.Body.Children.Add(rt) \'将表格对象加入到报表中
doc.Body.Children.Add(ra)
Doc.Preview() \'预览报表


--  作者:susu312
--  发布时间:2018/8/1 10:53:00
--  

老师,是这这个基础上需要把家庭信息绑定到容器中的表格里

 

1、比如1个人对5跟家人

2、现在是不会把这个5个人从家庭信息表里面提取出来,绑定到这个容器中的表格里

 

请老师指导一下


--  作者:有点甜
--  发布时间:2018/8/1 10:56:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/1249.htm

 


--  作者:susu312
--  发布时间:2018/8/1 13:05:00
--  

老师,去掉专业报表左边的页和大纲是咋弄的来着,您给我个参考例子哈?


--  作者:有点甜
--  发布时间:2018/8/1 14:48:00
--  
以下是引用susu312在2018/8/1 13:05:00的发言:

老师,去掉专业报表左边的页和大纲是咋弄的来着,您给我个参考例子哈?

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=122281&skin=0