以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  套打时,一条记录如何实现多次标签输出  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=137476)

--  作者:sunnyfastener
--  发布时间:2019/7/7 10:56:00
--  套打时,一条记录如何实现多次标签输出
1、装箱单,标签纸的输出,装箱单的格式(单位,产品名称,数量,箱数)
2、每一条记录,根据箱数,根据箱数产生多条记录,每一箱一个标签纸
按常规,一条记录只能输出一条标签,但目前根据箱数,需要输出多个标签纸
求助
图片点击可在新窗口打开查看此主题相关图片如下:装箱标签格式.jpg
图片点击可在新窗口打开查看
具体如附件中图片

--  作者:狐狸爸爸
--  发布时间:2019/7/7 15:59:00
--  
一条记录可以一次打印多个标签,参考:
http://www.foxtable.com/webhelp/topics/1414.htm


--  作者:sunnyfastener
--  发布时间:2019/7/7 16:29:00
--  标签的数量,是根据某一列数值,如箱数,动态增加
一行数据,对应的标签数量是动态的,如装箱单上的箱数,箱数为1,一条记录对应输出一个标签,如箱数为N,则一条记录对应的标签变成了N个
帮助里举例的都是固定的

--  作者:有点蓝
--  发布时间:2019/7/7 21:05:00
--  
建议使用专业报表做吧,其它报表控制都比较麻烦

Dim doc As New PrintDoc \'定义一个报表
doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight \'设置排列方式
For i As Integer = 1 To 3
    Dim rt As New prt.RenderTable() \'定义一个表格对象
    rt.Style.GridLines.All = New prt.LineDef \'将网格线类型设为默认类型
    rt.Width = 100 \'表格宽度为50mm
    rt.Style.Spacing.All = 2 \'和其他对象之间的间隔为2mm
    rt.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'避免垂直换页的时候,表格被分割成两部分.
    rt.Cols(0).Width = 20
    rt.cells(0,0).Text = "姓名"
    rt.Cells(0,1).Text = "职务"
    rt.Cells(0,2).Text = "数量"
    rt.Cells(0,3).Text = "箱数"
    
    rt.cells(1,0).Text = "张三"
    
    rt.Cells(2,0).SpanCols = 4
    rt.cells(2,0).Text = " "
    
    rt.cells(3,0).Text = "姓名"
    rt.Cells(3,1).Text = "职务"
    rt.Cells(3,2).Text = "数量"
    rt.Cells(3,3).Text = "垫圈"
    Dim cnt As Integer = Rand.Next(5)
    For j As Integer = 1 To cnt
        rt.cells(3+j,0).Text = "姓名" & j
        rt.Cells(3+j,1).Text = "职务" & j
        rt.Cells(3+j,2).Text = "数量" & j
        rt.Cells(3+j,3).Text = "第" & j & "箱/共" & cnt & "箱"
    Next
    doc.Body.Children.Add(rt) \'将表格对5象加入到报表中
Next
Doc.Preview() \'预览报表