以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  报表横向打印的设置,  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93727)

--  作者:周子杰
--  发布时间:2016/12/5 17:29:00
--  报表横向打印的设置,
请问,以前版本的设置好打印,就可以出来,但升级后,却不能打印了。那该怎么设置呀?
Dim doc As New PrintDoc \'定义一个报表
Doc.Columns.Add() \'增加三栏
Doc.Columns.Add()
Doc.Columns(0).Spacing = 30 \'栏间距15毫米
Doc.Columns(1).Spacing = 150 \'栏间距15毫米
Dim tbl As Table = Tables("fenfa")
doc.PageSetting.Landscape = True \'横向打印
doc.PageSetting.Width = 297 \'纸张宽度为100毫米
doc.PageSetting.Height = 240 \'纸张高度为120毫米
Doc.PageSetting.LeftMargin = 20 \'设置左边距
Doc.PageSetting.RightMargin = 10 \'设置右边距
Doc.PageSetting.TopMargin = 20 \'设置上边距
Doc.PageSetting.BottomMargin =0 \'设置下边距

For i As Integer = tbl.TopRow To tbl.BottomRow
    Dim rw As Row = tbl.Rows(i)
    Dim rt As New prt.RenderTable() \'定义一个表格对象
    Dim rx As New prt.RenderText \'定义一个文本对象
    Dim ra As New prt.RenderArea \'定义一个容器
    ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never  \'禁止容器因为分页而被垂直分割
    \'加入标题
    rx.text = "发行公司·集订分送卡"
    rx.Style.FontBold = True \'字体加粗
    rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列
    rx.Style.Font = New Font("黑体", 16, FontStyle.Bold) \'设置字体 
    rx.Style.Spacing.Bottom = 5 \'和下面的对象(表格)距离3毫米
    ra.Children.Add(rx) \'加入到容器中
    \'指定行数?列数?列宽?行高
    rt.Rows.Count = 6 \'设置总行数
    rt.Cols.Count = 4 \'设置总列数
    rt.Height = 53 \'设置表格的高度
      
   \'设置合并单元格
    rt.Cells(0,1).SpanCols =3
    rt.Cells(1,1).SpanCols = 3  
    rt.Cells(5,1).SpanCols = 3 \'    \'设置表格样式
    rt.CellStyle.Spacing.All = 1 \'单元格内容缩进1毫米
    rt.Style.Spacing.Bottom = 15 \' 和下一个资料卡的距离是5毫米
    rt.Style.GridLines.All = New prt.Linedef \'设置网格线
    rt.Style.TextAlignVert = prt.AlignVertEnum.Center \'内容垂直居中
     \'下面很简单,指定每一个单元格的内容
    rt.Cells(0,0).Text= "户        名"
    rt.Cells(0,1).Text = rw("hum")
    rt.Cells(1,0).Text= "地        址"
    rt.Cells(1,1).Text = rw("diz")
    rt.Cells(2,0).Text= "发  票  号"
    rt.Cells(2,1).Text =("10524432") 
    rt.Cells(2,2).Text= "报纸名称"
    rt.Cells(2,3).Text = rw("baom")
    rt.Cells(3,0).Text= "起订日期"
    rt.Cells(3,1).Text = rw("qsrq")
    rt.Cells(3,2).Text= "终止日期"
    rt.Cells(3,3).Text = rw("zzrq")
    rt.Cells(4,0).Text= "份        数"
    rt.Cells(4,1).Text = rw("fens")
    rt.Cells(5,0).Text= "发  行  员"
    rt.Cells(5,1).Text = rw("faby")
    rt.Style.FontSize = 11.5 
    rt.Cols(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center
    rt.Cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.Center 
    ra.Children.Add(rt) \'加入到容器中
    Doc.Body.ChildRen.Add(ra) \'将容器加入到报表中
Next
Doc.Preview() \'预览报表

--  作者:有点蓝
--  发布时间:2016/12/5 17:40:00
--  
如果是比较老的版本升级过来的,可能会有这个问题。好像新版打印组件对打印纸张大小做了限制,不能超过打印机打印范围。你调整一下纸张大小试试
--  作者:周子杰
--  发布时间:2016/12/5 17:41:00
--  
请问,主要怎么设置都不能横向打印。请问该如何解决,如何设置哪里呀?
--  作者:周子杰
--  发布时间:2016/12/5 17:41:00
--  
请版主指点。谢谢
--  作者:有点蓝
--  发布时间:2016/12/5 17:45:00
--  
我测试没有问题哦
--  作者:有点蓝
--  发布时间:2016/12/5 17:49:00
--  
不知道你需要的横向效果是怎么样的,截图看看
--  作者:周子杰
--  发布时间:2016/12/5 18:22:00
--  

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

不是,看的是横向设置,不知为什么打印出来的还是竖向的。
是不是还要设置本身打印机的设置呀。

--  作者:有点色
--  发布时间:2016/12/5 18:49:00
--  

 这个是bug,预览和打印有可能不一样。你可以试一下直接print。或者是去打印机那里设置一下纸张。