Foxtable(狐表)用户栏目专家坐堂 → 求助 关于条码问题


  共有2473人关注过本帖树形打印复制链接

主题:求助 关于条码问题

帅哥哟,离线,有人找我吗?
jackyfashion
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
求助 关于条码问题  发帖心情 Post By:2024/1/18 1:08:00 [显示全部帖子]


老师: 您好!

我做个打印报表,代码如下
For i As Integer = 0 To n 
        For il As Integer = 0 To nl 
            Dim i m g As pr t.R end e r I m age
            Dim Bar As New B a r C o d e B u i l d e r
            Bar.Symbology = B a r pr o.S y m b o l o g y.C o d e 3 9
            Ba r.B a r R a ti o = 0.2
            B a r .B a r H eight = 88982 & "*" & 00001*0001*0001
            Doc.Stacking = p r t. St ac kin g R u l e s E nu m. In l i n e L e f t T o R i g h t
            bar.Code = 
            i m g = new pr t .R en d er I m a g e
            i mg.Image = b a r .Ge t I m age
            Doc.Body.Children.Add(i mg)
        Next
    Next
报表有9列,
报表的0列及8列放条码
rt.Cells(i,0).Image = ?
rt.Cells(i,8).Image = ?
请老师指教!!!
谢谢!!!
                  想跟这个样本

图片点击可在新窗口打开查看此主题相关图片如下:aa.png
图片点击可在新窗口打开查看
                      这是我打的条码

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

请老师指教!!!
谢谢!!!

 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2024/1/18 9:22:00 [显示全部帖子]

老师:您好!

 

是这个意思,


rt.Cells(i,0).Image = ?

rt.Cells(i,8).Image = ?
请老师指教!!!
谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2024/1/18 9:55:00 [显示全部帖子]

老师:早上好!

n 是表A 的行数

NL 是表B的行数

 

B是条码最后的代码

0001 to 0003

上边的代码用着Code39,后边多着一个字符,我改了Code128就没有了.

谢谢老师!!!


 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2024/1/18 10:06:00 [显示全部帖子]

老师:您好!


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

谢谢!!!
[此贴子已经被作者于2024/1/18 10:08:30编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2024/1/18 10:39:00 [显示全部帖子]

老师:您辛苦了!
    Dim doc As New P r i n t Doc '定义一个报表
    Do c.Pa g e S e t ti n g. L e f t Margin = 10 '设置左边距
    Do c.P age Se t ti n g. R i g h t Margin = 10 '设置右边距
    D o c. P a g e Se t ti n g.To p M a r gin = 10 '设置上边距
    Do c.P a g e Se t t in g .B o t t om Mar gin = 10 '设置下边距
    Dim rt As New pr t.R en d e r T a  b le () '定义一个表格对象
    doc.Stacking = pr t.St ac kin g R u l e s E n u  m .B lo c k T o T o Bot tom
    rt.Width = "Parent.Width" '对象宽度等于页面宽度
    rt.Cols.Count = 7 '置总列数
    rt.Cols(0).Width = 55
    rt.Cols(0).Width = 55
    rt.Cols(1).Width = 9
    rt.Cols(2).Width = 10
    rt.Cols(3).Width = 12
    rt.Cols(4).Width = 25
    rt.Cols(5).Width = 12
    rt.Cols(6).Width = 10
    rt.Cols(7).Width = 9
    rt.Cols(8).Width = 55
    Dim fa As Table = Tables("表A")
    Dim rl As  Table = Tables("表B")
    Dim n As Integer = Tables("表A").Rows.Count-1
    Dim nl As Integer = Tables("表B").Rows.Count-1
    For i As Integer = 0 To n
        For il As Integer = 0 To n l  ' Step 2     
            Dim i m g As p rt .R en d e r I m age
            Dim Bar As New B a r Code B u i l d er
            Bar.Symbology = B a r p r o.S y m b o l o g y. C o d e 1 28
            B a r. B a r R a t i o = 0.05
            B a r . B a r H e i g h t = 6
            Doc.Stacking = p r t . S t a c k i n g R u l e s E n u m . I n l i n e L e f t T o  Right
            bar.Code = fa.Rows(i)("x kg n") & "*" & fa.Rows(i)("ys") & "*" & fa.Rows(i)("kg") & "*" & rl.Rows(il)("acb")
            i mg = new p r t. R e n d e r I m age
            i m g . Image = b a r . G e t I mage
            Doc.Body.Children.Add(i mg)
            'rt.Cells(i,0).R e n d e r Object = i mg
            doc.Stacking = p r t . S t a c k i n g R u l e s E n u m . B l o c k T o p T o Bottom
        Next
    Next
    Doc.Preview()
谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2024/1/18 10:47:00 [显示全部帖子]

老师:您好!
表A
是 0003  0001
    0003  0002
    0003  0003
    0003  0004
    0003  0005
    0003  0006
    0003  0007
    0003  0008
    0003  0009
    0003  0010
    0003  0011         
    0003  0012
表B
是01
   02
   03
专业报表共有9列
想把条码的顺序号,分别
1为左边第一列
2为右边后最后一列
 Dim doc As New P r i n t Doc '定义一个报表
    Do c.Pa g e S e t ti n g. L e f t Margin = 10 '设置左边距
    Do c.P age Se t ti n g. R i g h t Margin = 10 '设置右边距
    D o c. P a g e Se t ti n g.To p M a r gin = 10 '设置上边距
    Do c.P a g e Se t t in g .B o t t om Mar gin = 10 '设置下边距
    Dim rt As New pr t.R en d e r T a  b le () '定义一个表格对象
    doc.Stacking = pr t.St ac kin g R u l e s E n u  m .B lo c k T o T o Bot tom
    rt.Width = "Parent.Width" '对象宽度等于页面宽度
    rt.Cols.Count = 7 '置总列数
    rt.Cols(0).Width = 55
    rt.Cols(0).Width = 55
    rt.Cols(1).Width = 9
    rt.Cols(2).Width = 10
    rt.Cols(3).Width = 12
    rt.Cols(4).Width = 25
    rt.Cols(5).Width = 12
    rt.Cols(6).Width = 10
    rt.Cols(7).Width = 9
    rt.Cols(8).Width = 55
    Dim fa As Table = Tables("表A")
    Dim rl As  Table = Tables("表B")
    Dim n As Integer = Tables("表A").Rows.Count-1
    Dim nl As Integer = Tables("表B").Rows.Count-1
    For i As Integer = 0 To 12
        For il As Integer = 0 To 2  ' Step 2     
            Dim i m g As p rt .R en d e r I m age
            Dim Bar As New B a r Code B u i l d er
            Bar.Symbology = B a r p r o.S y m b o l o g y. C o d e 1 28
            B a r. B a r R a t i o = 0.05
            B a r . B a r H e i g h t = 6
            Doc.Stacking = p r t . S t a c k i n g R u l e s E n u m . I n l i n e L e f t T o  Right
            bar.Code = 88982*00001*00001*00001
            i mg = new p r t. R e n d e r I m age
            i m g . Image = b a r . G e t I mage
            Doc.Body.Children.Add(i mg)
            'rt.Cells(i,0).R e n d e r Object = i mg           
rt.Cells(i,0). ? = ? 
rt.Cells(i,8). ? = ? 
        Next
    Next
    Doc.Preview()


此主题相关图片如下:cc.png
按此在新窗口浏览图片
请老师指教!!!
谢谢!

[此贴子已经被作者于2024/1/18 12:22:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2024/1/18 15:22:00 [显示全部帖子]

谢谢老师!
可以了
谢谢!!!

 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2024/1/19 0:06:00 [显示全部帖子]


老师:   您好!
Dim doc As New Pr i n t Doc '定义一个报表
Dim rt As New pr t.R end er T able() '定义一个表格对象
Do c.Pa g e Set ti n g .L e f t M a r g in = 10 '设置左边距
Do c. P a g e Setting. R i g h t M a r g in = 10 '设置右边距
D o c. P a g e S e t t i n g .T o p M a r g in = 10 '设置上边距
D o c .P a g e S e t t i n g . B o t t o m M a r g i n = 10 '设置下边距
Doc.Stacking = p r t . S t a c k i n g R u l e s E n u m . I n l i n e L e f t T o R i g h t
r t . S p l i t V e r t Behavior = pr t.Sp l i t Be h a v i o r E n u m.Never
rt.Width = "Parent.Width" '对象宽度等于页面宽度
rt.Height = 38
rt.Cols.Count = 11 '置总列数
rt.Cols(0).Width = 30
rt.Cols(1).Width = 15
rt.Cols(2).Width = 13
rt.Cols(3).Width = 10
rt.Cols(4).Width = 12
rt.Cols(5).Width = 23
rt.Cols(6).Width = 12
rt.Cols(7).Width = 10
rt.Cols(8).Width = 13
rt.Cols(9).Width = 15
rt.Cols(10).Width = 30
r t .S t y l e . G r i d L i n e s.All = New P r t . L i n e D e f(0.1, Color.Silver)
r t . S t y l e . T e x t A l i g n H o r z  = p r t . A l i g n H  o r z E n u m.Center '水平居中
rt .S t y l e . T ex t A l i g n V e r t = p r t . Al i g n V e r t E n u m .Center
Dim n l As Integer = 5
Dim k As Integer
If n l Mod 2 = 0 Then
    k = n l \ 2
E l s e I f   n l Mod 2 = 1 Then
    k = n l \ 2 + 1
End If
For il As Integer = 0 To n l-1 
    rt.Rows(il).Height = 16
    Dim i mg As p r t . R e n d e r I mage
    Dim Bar As New B a r C o d e B u i l d er
    Bar.Symbology = B a r p r o . S y m b o l o g y . C o d e 39    
    B a r. B a r Height = 10
    bar.Code = "889820001002" & 001+il
    B a r. Ad d C h e c k S um = False
    i mg = new p r t .R e n d e r I mage
    i mg.Image = b a r . G e t I mage
    If i l Mod 2 = 0 Then
        r t.Cells(i l,0).R e n d e r O b j e c t = i m g
        
    Else
        rt.Cells( i l-1,10).R e n d e r O b j e c t = i m g               '
    End If
Next
doc.Body.Children.Add(rt)
Doc.Preview()
老师: 打印有空行,敬请老师指教!!!,谢谢!!!

图片点击可在新窗口打开查看此主题相关图片如下:dd.png
图片点击可在新窗口打开查看
老师:代码在压缩包内,谢谢!!!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:aa.rar


[此贴子已经被作者于2024/1/19 0:10:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2024/1/19 9:43:00 [显示全部帖子]

老师:
   您好! 
还是多了2 行

图片点击可在新窗口打开查看此主题相关图片如下:ee.png
图片点击可在新窗口打开查看
谢谢老师!!!
谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2024/1/19 10:50:00 [显示全部帖子]

谢谢老师!!!

 回到顶部
总数 11 1 2 下一页