以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  帮助中的 报表内容 没输出  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146869)

--  作者:ljh29206
--  发布时间:2020/3/4 16:41:00
--  帮助中的 报表内容 没输出
版主请测试下


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


我试过 空白结果

Dim doc As New PrintDoc \'定义一个报表
Dim
rt As New prt.RenderText \'定义一个文本对象
Dim
ra As New prt.RenderArea
rt.Text =
"Hello Foxtable" \'设置文本对象的内容
rt
.Width = "Parent.Width" \'宽度等于容器宽度
rt
.Height = "Parent.Height" \'高度等于容器高度
rt.Style.Borders.All = New prt.Linedef(
1, Color.Red) \'设置边框
ra.Children.Add(rt)
\'加入到容器中
doc.Body.Children.Add(ra)
\'将容器加入到报表
doc.Preview()
\'预览

这代码输出结果为空

[此贴子已经被作者于2020/3/4 16:41:00编辑过]

--  作者:ljh29206
--  发布时间:2020/3/4 16:53:00
--  
 另外 请教下

Dim doc As New PrintDoc \'定义一个报表
Dim rt As prt.RenderText \'定义一个文本对象
Dim s As String \'定义字符变量
s = "新华网绵阳5月16日电(记者孙承斌)16日上午,在四川抗震救灾的"
s = s & "危急时刻,中总书记?国家主席?中央军委席胡涛乘飞机赶往四川"
s = s & "省地震灾区,慰问灾区干部群众,看望奋战在抗震救灾第一线的部队官兵?公"
s = s & "安民警和医护人员,指导抗震救灾工作."
For i As Integer = 1 To 24
    rt = New prt.RenderText
    rt.Text = s \'设置文本对象的内容
    rt.Style.TextIndent = 9 \'首行缩进9毫米
    rt.Style.Spacing.Top = 5 \'每段间隔5毫米
    rt.Style.LineSpacing = 150 \'1.5倍行距
    doc.Body.Children.Add(rt) \'将文本对象加入到报表
Next
\'设置页眉
rt = New prt.RenderText \'设置文本对象的内容
rt.Text = "第[PageNo]页,共[PageCount]页" \'设置文本内容
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Right \'靠右对齐
rt.Style.Borders.Bottom = New prt.LineDef(0.3, Color.Green) \'设置底边框
rt.Style.Padding.Bottom = 0.5 \'底端内容缩进0.5毫米
rt.Style.FontSize = 8 \'字体大小为8磅
Doc.PageHeader = rt \'作为页眉使用
doc.Preview() \'预览


这段代码的内容部分 能否画框 框起来?试过 用容器的话 只能 是容器大小 ,超出部分 不能显示。 这个能否 根据文本的 高度 设置框框?


--  作者:有点蓝
--  发布时间:2020/3/4 17:23:00
--  
回1楼,帮助已经明确说明了这段代码就是有问题的,请仔细体会。如果要显示内容去掉这2句
rt.Width = "Parent.Width" \'宽度等于容器宽度
rt
.Height = "Parent.Height" \'高度等于容器高度

回2楼,设置边框不需要什么容器就可以:http://www.foxtable.com/webhelp/topics/1169.htm

--  作者:ljh29206
--  发布时间:2020/3/4 17:40:00
--  
篮板,非常感谢 ,自己没看清楚。浪费你时间了!


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

另外这个代码 我试过 有点问题  假如文本太长,  首尾不能连线 这个 怎么搞呢
rt = New prt.RenderText \'设置文本对象的内容
rt.Text = r1("议事录")
    \'rt.Style.TextIndent = 5 \'首行缩进9毫米
    \'rt.Style.Spacing.Top = 5 \'每段间隔5毫米
    \'rt.Style.LineSpacing = 100 \'1.5倍行距
rt.Style.Borders.All = New prt.LineDef(0.8, Color.black) \'设置边框
rt.Style.Borders.Bottom = New prt.LineDef

doc.Body.Children.Add(rt) \'将文本对象加入到报表

麻烦帮忙在看看
[此贴子已经被作者于2020/3/5 8:45:24编辑过]

--  作者:有点蓝
--  发布时间:2020/3/4 17:47:00
--  
http://www.foxtable.com/webhelp/topics/1184.htm
--  作者:ljh29206
--  发布时间:2020/3/5 8:45:00
--  
 蓝版,这个代码 我试过了  这样操作 会把文本截断了的, 起不了画框的作用

Dim doc As New PrintDoc \'定义一个报表
Dim rt As prt.RenderText \'定义一个文本对象
Dim s As String \'定义字符变量
For i As Integer = 1 To 50
s = s & "新华网绵阳5月16日电(记者孙承斌)16日上午,在四川抗震救灾的"
s = s & "危急时刻,中总书记?国家主席?中央军委席胡涛乘飞机赶往四川"
s = s & "省地震灾区,慰问灾区干部群众,看望奋战在抗震救灾第一线的部队官兵?公"
s = s & "安民警和医护人员,指导抗震救灾工作."
Next

    rt = New prt.RenderText
    rt.Text = s \'设置文本对象的内容
    rt.Style.Borders.All = New prt.Linedef(1, Color.Red) \'设置边框
    rt.SplitVertBehavior = prt.SplitBehaviorEnum.Never  \'禁止被垂直分割
    doc.Body.Children.Add(rt) \'将文本对象加入到报表
\'设置页眉
rt = New prt.RenderText \'设置文本对象的内容
rt.Text = "第[PageNo]页,共[PageCount]页" \'设置文本内容
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Right \'靠右对齐
rt.Style.Borders.Bottom = New prt.LineDef(0.3, Color.Green) \'设置底边框
rt.Style.Padding.Bottom = 0.5 \'底端内容缩进0.5毫米
rt.Style.FontSize = 8 \'字体大小为8磅
Doc.PageHeader = rt \'作为页眉使用
doc.Preview() \'预览

没这个语句文本是正常的,加进去后文本就会截断成1页.

--  作者:有点蓝
--  发布时间:2020/3/5 11:08:00
--  
这种没有办法,只能人为根据页高和位置行数进行拆分