Foxtable(狐表)用户栏目专家坐堂 → [求助]专业报表换页问题


  共有1979人关注过本帖树形打印复制链接

主题:[求助]专业报表换页问题

帅哥哟,离线,有人找我吗?
WENFEIZHU
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:67 积分:588 威望:0 精华:0 注册:2017/3/17 21:53:00
[求助]专业报表换页问题  发帖心情 Post By:2017/4/6 13:36:00 [只看该作者]

专家,您好:
 
咨询【专业报表】换页问题。
 
我有一组数据,数据长度不定,根据这些数据打印出来的报表,可能一页也可能两页或三页。
目前我在帮助文件里只查到了4.2.12强制换页。
 
如附件图片,我的需求是:
 
1、“标称电压”以上部分所有内容全部是页头,除了第一页第二页页同样要展示。
2、以下标黑部分由数据长度决定,可能有10模块个需要换页,也可能只有5模块个无须换页。
 
遇到以下困难,请给予帮助:
 
1、页头部分,使用(doc.PageHeader = rt )直接设置页眉时,对齐出了问题,应该用什么方法规定页眉部分的X和Y,与正常页面不同吗?
‘图片部分直接不显示
Dim Logo As New prt.RenderImage
logo.Image = GetImage("black.bmp")
logo.Style.Borders.All = New prt.Linedef(0, Color.White)
logo.Width = 25
FSDoc.PageHeader = logo
’文本部分无法得到想要的对齐效果
 Dim ProDe As New prt.RenderText
ProDe.Text = irow("productdescription")
ProDe.Style.Font = new font("Aril", 26)
ProDe.X = 33
ProDe.Y = 11
FSDoc.PageHeader = ProDe
 

谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
WENFEIZHU
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:67 积分:588 威望:0 精华:0 注册:2017/3/17 21:53:00
  发帖心情 Post By:2017/4/6 14:03:00 [只看该作者]

是否有人答疑?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/6 14:10:00 [只看该作者]

 贴出具体可以测试的代码。或者做一个小例说明。

 回到顶部
帅哥哟,离线,有人找我吗?
WENFEIZHU
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:67 积分:588 威望:0 精华:0 注册:2017/3/17 21:53:00
  发帖心情 Post By:2017/4/6 14:17:00 [只看该作者]

以下代码已经将数据部分去掉,可以执行。

执行的结果页眉部分排版混乱,并且不显示LOGO图片。

 

注意绿色部分如果和红色部分替换执行则是正确效果,但是不属于页眉。

 

————————————————————————————

Dim FSDoc As New PrintDoc
'纸张类型和页面设置
FSDoc.PageSetting.PaperKind = 9
FSDoc.PageSetting.LeftMargin = 5
FSDoc.PageSetting.rightMargin = 5
FSDoc.PageSetting.TopMargin = 5
FSDoc.PageSetting.BottomMargin = 5

'加载表头(LOGO,型号,随件单号,随件单条码,打印日期和设计者)
Dim Logo As New prt.RenderImage
logo.Image = GetImage("TDK_black.bmp")
logo.Style.Borders.All = New prt.Linedef(0, Color.White)
logo.Style.TextAlignHorz = prt.AlignHorzEnum.Left
logo.Width = 25
FSDoc.PageHeader = logo
'FSDoc.Body.Children.Add(logo)

Dim ProDe As New prt.RenderText
ProDe.Text = "productdescription"
ProDe.Style.Font = new font("Aril", 26)
ProDe.X = 33
ProDe.Y = 11
FSDoc.PageHeader = ProDe
'FSDoc.Body.Children.Add(ProDe)

Dim Title As New prt.RenderText
Title.Text = "产品随件单 Flow Sheet"
Title.Style.Font = new font("Aril", 9)
Title.X = 33
Title.Y = 4.5
FSDoc.Body.Children.Add(Title)

Dim BillNo As new prt.rendertext
BillNo.text = "YYWW0001001"
BillNo.Style.Font = new font("Aril", 16, fontstyle.Italic)
BillNo.Y = 4
BillNo.Style.TextAlignHorz = prt.alignhorzenum.Right
FSDoc.Body.Children.Add(BillNo)
'生成条码

Dim Bar As New prt.RenderBarCode()
Bar.Height = 10
Bar.Width = 38
Bar.y = 10
Bar.x = 167
Bar.BarCodeType = BarCodeEnum.Code128
Bar.Text = "YYWW0001001"
Bar.ShowText = False
FSDoc.Body.Children.Add(Bar)

Fsdoc.Preview()


 回到顶部
帅哥哟,离线,有人找我吗?
WENFEIZHU
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:67 积分:588 威望:0 精华:0 注册:2017/3/17 21:53:00
  发帖心情 Post By:2017/4/6 14:20:00 [只看该作者]

其实根本问题就是,1、专业报表页眉中能否加载图片?用什么方法?2、专业报表中加载页眉的文本和图片如何定位?

 回到顶部
帅哥哟,离线,有人找我吗?
WENFEIZHU
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:67 积分:588 威望:0 精华:0 注册:2017/3/17 21:53:00
  发帖心情 Post By:2017/4/6 14:47:00 [只看该作者]

专家,着急~~帮帮忙吧~~~图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
WENFEIZHU
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:67 积分:588 威望:0 精华:0 注册:2017/3/17 21:53:00
  发帖心情 Post By:2017/4/6 15:13:00 [只看该作者]

求助求助求助~~


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/6 16:10:00 [只看该作者]

参考代码,要善用ra容器,把整体的布局放在一个个容器里面。

 

Dim FSDoc As New PrintDoc
'纸张类型和页面设置
FSDoc.PageSetting.PaperKind = 9
FSDoc.PageSetting.LeftMargin = 5
FSDoc.PageSetting.rightMargin = 5
FSDoc.PageSetting.TopMargin = 5
FSDoc.PageSetting.BottomMargin = 5

Dim ra As new prt.RenderArea
'加载表头(LOGO,型号,随件单号,随件单条码,打印日期和设计者)
Dim Logo As New prt.RenderImage
logo.Image = GetImage("d:\test.jpg")
logo.Style.Borders.All = New prt.Linedef(0, Color.White)
logo.Style.TextAlignHorz = prt.AlignHorzEnum.Left
logo.Width = 25
logo.x = 30
logo.y = 0
ra.children.add(logo)

Dim ProDe As New prt.RenderText
ProDe.Text = "productdescription"
ProDe.Style.Font = new font("Aril", 26)
ProDe.X = 33
ProDe.Y = 11
ra.children.add(prode)

fsdoc.PageHeader = ra


Fsdoc.Preview()


 回到顶部
帅哥哟,离线,有人找我吗?
WENFEIZHU
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:67 积分:588 威望:0 精华:0 注册:2017/3/17 21:53:00
  发帖心情 Post By:2017/4/6 22:11:00 [只看该作者]

试了下,容器太好用了,给我省了几十行代码。开心,加了几个属性,页面页都对齐了。谢谢!!!图片点击可在新窗口打开查看

RA.x = 0
RA.y = 0
RA.Width = 200
RA.Style.Padding.ALL = 0

FSdoc.PageHeader = RA

 回到顶部