以文本方式查看主题 - 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) \'将容器加入到报表中 [此贴子已经被作者于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 -- 问题已解决,感谢红袍老师 |