以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  标签打印  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=190482)

--  作者:BG小白
--  发布时间:2024/2/8 9:31:00
--  标签打印

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20240208092835.png
图片点击可在新窗口打开查看

这个代码哪里有问题啊,怎么在一个页面

Dim doc As New PrintDoc \'定义一个报表
Doc.Columns.Add() \'增加三栏
Doc.Columns.Add() \'增加三栏
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.Code128
Bar.BarWidth = 0.28
doc.Stacking = prt.StackingRulesEnum.BlockTopToBottom \'设置排列方式
Dim rg As New prt.RenderGraphics
Dim rt As prt.RenderText
doc.PageSetting.Width = 62 \'纸张宽度为100毫米
doc.PageSetting.Height = 86
Doc.Columns(0).Spacing = 40 \'栏间距2毫米
Doc.PageSetting.LeftMargin = 1
Doc.PageSetting.TopMargin = 1.5
\'doc.PageSetting.Landscape = True

For Each r As Row In Tables("进货单明细").Rows
    For i As Integer = 1 To r("SL")
        Dim ra As New prt.RenderArea
        ra.Width = 60 \'宽度等于分栏宽度
        ra.Height = 40 \'高度24毫米
        ra.Style.Borders.All = New prt.Linedef(0.3, Color.Red) \'设置边框
        ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never \'禁止水平分割
        ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'禁止垂直分割
        Doc.Body.ChildRen.Add(ra) \'将容器加入到报表中
        
        rt = New prt.RenderText
        rt.Text = r("SPMC")
        rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
        rt.Style.Font = New Font("宋体", 24, FontStyle.Bold)
        ra.Children.Add(rt) \'添加到容器中
        
        rt = New prt.RenderText
        rt.Text = r("DJ") & "元"
        rt.Y = "Prev.Bottom"
        rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
        rt.Style.Font = New Font("宋体", 32, FontStyle.Bold)
        ra.Children.Add(rt)
        
        bar.Code = r("SKU")
        bar.BarHeight = 7
        Bar.Font = New Font("宋体", 14, FontStyle.Bold)
        rg = New prt.RenderGraphics
        \'rg.X = 8
        rg.Y = "Prev.Bottom"
        Bar.QuietZoneWidth = 10
        bar.DrawOnCanvas(rg.Graphics, 0, 0, 1)
        ra.Children.Add(rg)
        
        rt = New prt.RenderText
        rt.Text = r("GG1MC")
        rt.X = 14.5
        rt.Y = 33
        rt.Style.Font = New Font("宋体", 12, FontStyle.Bold)
        ra.Children.Add(rt) \'添加到容器中
        
        rt = New prt.RenderText
        rt.Text = r("GG2MC")
        rt.X = 40.5
        rt.Y = 33
        rt.Style.Font = New Font("宋体", 12, FontStyle.Bold)
        ra.Children.Add(rt) \'添加到容器中
        
        rt = New prt.RenderText
        rt.Text = r("ZJF")
        rt.X = 52
        rt.Y = 8
        rt.Style.Font = New Font("宋体", 14, FontStyle.Bold)
        rt.Style.TextAngle = -90
        ra.Children.Add(rt) \'添加到容器中
    Next
Next
Doc.Preview() \'预览报表

--  作者:有点蓝
--  发布时间:2024/2/8 9:45:00
--  
表数据是怎么样的,r("SL")存储的都有什么值?
--  作者:BG小白
--  发布时间:2024/2/8 9:47:00
--  
SL是整数

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20240208094601.png
图片点击可在新窗口打开查看


--  作者:BG小白
--  发布时间:2024/2/8 10:09:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20240208100825.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2024/2/8 10:09:00
--  
……
doc.PageSetting.Width = 62 \'纸张宽度为100毫米
doc.PageSetting.Height = 86
\'Doc.Columns(0).Spacing = 40 \'栏间距2毫米
Doc.PageSetting.LeftMargin = 1
Doc.PageSetting.RightMargin = 1
Doc.PageSetting.TopMargin = 1.5
Doc.PageSetting.BottomMargin = 1.5
\'doc.PageSetting.Landscape = True

For Each r As Row In Tables("进货单明细").Rows
    For i As Integer = 1 To 1 r("SL")
        Dim ra As New prt.RenderArea
        ra.Width = 60 \'宽度等于分栏宽度
        ra.Height = 40 \'高度24毫米
        ra.Style.Spacing.Bottom = 3
        ra.Style.Borders.All = New prt.Linedef(0.3, Color.Red) \'设置边框
……

--  作者:BG小白
--  发布时间:2024/2/8 10:12:00
--  
还是不行

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20240208101158.png
图片点击可在新窗口打开查看


--  作者:BG小白
--  发布时间:2024/2/8 10:15:00
--  
调好了
--  作者:有点蓝
--  发布时间:2024/2/8 10:17:00
--  
下面代码去掉


Doc.Columns.Add() \'增加三栏
Doc.Columns.Add() \'增加三栏

doc.Stacking = prt.StackingRulesEnum.BlockTopToBottom \'设置排列方式

Doc.Columns(0).Spacing = 40 \'栏间距2毫米