以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于连续打印的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=86745)

--  作者:scofields
--  发布时间:2016/6/24 17:17:00
--  关于连续打印的问题
红袍老师,能不能如图两个票据之间的间隔,这个太紧凑了,我参照帮助文件改了代码:
Dim doc As New PrintDoc \'定义一个报表
Dim tbl As Table = Tables("FAJHB")
For i As Integer = tbl.TopRow To tbl.BottomRow
    Dim CurRow 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 = "XX公司发运通知单"
rx.Style.FontBold = True \'字体加粗
rx.Style.FontSize = 16 \'大体大小为16磅
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列
rx.Style.Spacing.Bottom = 3 \'和下面的对象(表格)距离3毫米
ra.Children.Add(rx) \'加入到容器中

\'指定行数?列数?列宽?行高
rt.Rows.Count = 11 \'设置总行数
rt.Cols.Count = 8 \'设置总列数
rt.Height = 100 \'设置表格的高度为100毫米
rt.Rows(11).Height = 20 \'设置第11行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
rt.Cols(0).Width = 30 \'设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列)
rt.Cols(1).Width = 50
rt.Cols(2).Width = 20
rt.Cols(4).Width = 20 \'设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列)
rt.Cols(3).Width = 30
rt.Cols(5).Width = 30 \'设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列)
rt.Cols(6).Width = 20
rt.Cols(7).Width = 20\'设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列)
\'设置合并单元格
rt.Cells(0,1).SpanCols = 2 \'第1行第2个单元格向右合并5列(用于显示备注)
rt.Cells(0,4).SpanCols = 4 \'第1行第5个单元格向右合并3列(用于显示备注)
rt.Cells(1,1).SpanCols = 2 \'第1行第2个单元格向右合并5列(用于显示备注)
rt.Cells(1,4).SpanCols = 4 \'第1行第5个单元格向右合并3列(用于显示备注)
rt.Cells(2,1).SpanCols = 3 \'第3行第2个单元格向右合并5列(用于显示备注)
rt.Cells(2,5).SpanCols = 4 \'第3行第6个单元格向右合并2列(用于显示备注)
rt.Cells(3,1).SpanCols = 2 \'第3行第2个单元格向右合并5列(用于显示备注)
rt.Cells(3,4).SpanCols = 4 \'第3行第6个单元格向右合并2列(用于显示备注)
rt.Cells(4,0).SpanCols = 8 \'第3行第6个单元格向右合并2列(用于显示备注)
rt.Cells(11,0).SpanCols = 8 \'第11行第1个单元格向右合并6列(用于显示备注)
\'设置表格样式
rt.CellStyle.Spacing.All = 0.5 \'单元格内容缩进1毫米
rt.Style.GridLines.All = New prt.Linedef \'设置网格线
rt.Style.TextAlignVert = prt.AlignVertEnum. TOP\'内容垂直居中
rt.Rows(10).Style.TextAlignVert = prt.AlignVertEnum.Top \'唯独第7行是备注,内容靠上对齐
rt.Rows(3).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'唯独第7行是备注,内容靠上对齐
rt.Rows(4).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'唯独第7行是备注,内容靠上对齐
rt.Rows(5).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'唯独第7行是备注,内容靠上对齐
rt.Rows(6).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'唯独第7行是备注,内容靠上对齐
rt.Rows(7).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'唯独第7行是备注,内容靠上对齐
rt.Rows(8).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'唯独第7行是备注,内容靠上对齐
rt.Rows(9).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'唯独第7行是备注,内容靠上对齐
\'下面很简单,指定每一个单元格的内容
rt.Cells(0,0).Text= "发货日期"
rt.Cells(0,1).Text = CurRow("发运日期")
rt.Cells(0,3).Text="有效日期" 
rt.Cells(0,4).Text = CurRow("有效时间")
rt.Cells(1,0).Text="发货编号"
rt.Cells(1,1).Text = CurRow("发货编号")
rt.Cells(1,3).Text= "计划单号"
rt.Cells(1,4).Text = CurRow("计划单号")
rt.Cells(2,0).Text="客户名" 
rt.Cells(2,1).Text = CurRow("客户名")
rt.Cells(2,4).Text= "子客户"
rt.Cells(2,5).Text = CurRow("子客户")
rt.Cells(3,3).Text= "包装"
rt.Cells(3,4).Text = CurRow("包装")
rt.Cells(3,0).Text= "品种"
rt.Cells(3,1).Text = CurRow("品种")
rt.Cells(4,0).Text= "以下为预报车号信息"
rt.Cells(5,0).Text= "车号1"
rt.Cells(5,1).Text = CurRow("车号1")
rt.Cells(5,2).Text= "吨位1"
rt.Cells(5,3).Text = CurRow("吨位1")
rt.Cells(5,4).Text= "车号6"
rt.Cells(5,5).Text = CurRow("车号6")
rt.Cells(5,6).Text= "吨位6"
rt.Cells(5,7).Text = CurRow("吨位6")
rt.Cells(6,0).Text= "车号2"
rt.Cells(6,1).Text = CurRow("车号2")
rt.Cells(6,2).Text= "吨位2"
rt.Cells(6,3).Text = CurRow("吨位2")
rt.Cells(6,4).Text= "车号7"
rt.Cells(6,5).Text = CurRow("车号7")
rt.Cells(6,6).Text= "吨位7"
rt.Cells(6,7).Text = CurRow("吨位7")
rt.Cells(7,0).Text= "车号3"
rt.Cells(7,1).Text = CurRow("车号3")
rt.Cells(7,2).Text= "吨位3"
rt.Cells(7,3).Text = CurRow("吨位3")
rt.Cells(7,4).Text= "车号8"
rt.Cells(7,5).Text = CurRow("车号8")
rt.Cells(7,6).Text= "吨位8"
rt.Cells(7,7).Text = CurRow("吨位8")
rt.Cells(8,0).Text= "车号4"
rt.Cells(8,1).Text = CurRow("车号4")
rt.Cells(8,2).Text= "吨位4"
rt.Cells(8,3).Text = CurRow("吨位4")
rt.Cells(8,4).Text= "车号9"
rt.Cells(8,5).Text = CurRow("车号9")
rt.Cells(8,6).Text= "吨位9"
rt.Cells(8,7).Text = CurRow("吨位9")
rt.Cells(9,0).Text= "车号5"
rt.Cells(9,1).Text = CurRow("车号5")
rt.Cells(9,2).Text= "吨位5"
rt.Cells(9,3).Text = CurRow("吨位5")
rt.Cells(9,4).Text= "车号10"
rt.Cells(9,5).Text = CurRow("车号10")
rt.Cells(9,6).Text= "吨位10"
rt.Cells(9,7).Text = CurRow("吨位10")
rt.Cells(11,0).Text = CurRow("备注")
ra.Children.Add(rt) \'加入到容器中
Doc.Body.ChildRen.Add(ra) \'将容器加入到报表中
Next
Doc.Preview() \'预览报表

--  作者:scofields
--  发布时间:2016/6/24 17:18:00
--  
我就想调整一下两个票据之间的间距

图片点击可在新窗口打开查看此主题相关图片如下:打印.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/6/24 17:18:21编辑过]

--  作者:大红袍
--  发布时间:2016/6/24 17:22:00
--  

 加入一个容器,加高价格

 

    Doc.Body.ChildRen.Add(ra) \'将容器加入到报表中
    Dim rrt As New prt.RenderText \'定义一个文本对象
    rrt.Height = 50
    ra.Children.Add(rrt) \'加入到容器中
Next
Doc.Preview() \'预览报表

[此贴子已经被作者于2016/6/24 17:34:46编辑过]

--  作者:scofields
--  发布时间:2016/6/24 17:32:00
--  
红袍老师,我的意思是调整边框与上一个票据的间距问题哦。如图
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160624173121.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/6/24 17:34:00
--  
    Doc.Body.ChildRen.Add(ra) \'将容器加入到报表中
    Dim rrt As New prt.RenderText \'定义一个文本对象
    rrt.Height = 50
    Doc.Body.Children.Add(rrt) \'加入到容器中
Next
Doc.Preview() \'预览报表
[此贴子已经被作者于2016/6/24 17:34:32编辑过]

--  作者:scofields
--  发布时间:2016/6/24 17:47:00
--  
感谢红袍老师,问题已经得到解决,我现在又想实现,固定纸张的上下左右边距,如左边距=10 右边距=10,上边距=15 ,下边距=5,然后在表头加入打印时间与打印页码,这个可怎么解决?
--  作者:scofields
--  发布时间:2016/6/24 17:47:00
--  

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

--  作者:大红袍
--  发布时间:2016/6/24 18:15:00
--  

参考

 

http://www.foxtable.com/help/topics/1192.htm

 

http://www.foxtable.com/help/topics/1197.htm

 


--  作者:scofields
--  发布时间:2016/6/24 22:30:00
--  
问题已解决,感谢红袍老师