Foxtable(狐表)用户栏目专家坐堂 → 添加的项目已经有所有者了


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

主题:添加的项目已经有所有者了

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


加好友 发短信
等级:幼狐 帖子:83 积分:918 威望:0 精华:0 注册:2019/9/20 14:29:00
添加的项目已经有所有者了  发帖心情 Post By:2021/3/17 15:38:00 [只看该作者]

设置如下代码,运行后出现错误提示“添加的项目已经有所有者了。”这是代码哪里出问题了


Dim doc As New PrintDoc() '定义一个报表
doc.PageSetting.Width = 100 '纸张宽度为76毫米
doc.PageSetting.Height = 120 '纸张高度为102毫米
doc.PageSetting.LeftMargin = 2 '设置左边距
doc.PageSetting.TopMargin = 1 '设置上边距
Dim rt As New prt.RenderTable()  '定义一个表格对象
Dim rx As New prt.RenderText '定义一个文本对象
Dim ra As New prt.RenderArea  '定义一个容器
Dim ra1 As New prt.RenderArea  '定义一个容器
Dim rm As prt.RenderImage     '定义一个图片对象
For Each r As Row In Tables("条码").Rows
    Dim n As Integer = 0
    n = n + 1
    rt.Style.GridLines.All = New prt.LineDef  '将网格线类型设为默认类型
    rt.SplitVertBehavior = prt.SplitBehaviorEnum.Never '避免垂直换页的时候,表格被分割成两部分
    rt.CellStyle.Spacing.All = 1 '单元格内容缩进1毫米
    rt.Width = 90   '表格宽度为 72mm
    rt.Height = 110  '设置表格的高度 95mm
    rt.Rows.Count = 5 '设置总行数  0为第一行
    rt.Cells(1,0).SpanCols = 8
    Dim img As prt.RenderImage
    Dim Bar As New BarCodeBuilder  '定义一个条码对象
    Bar.Symbology = Barpro.Symbology.Code128   '128格式条码
    ra1 = rt.Cells(n,0).Area '引用单元格的容器,第2行
    bar.Code = r("编号")
    bar.Text = r("编号") & r("产品名称") & r("产品型号")
    bar.BarWidth = 0.48     '窄条宽度
    bar.BarRatio = 0.5   '条码宽窄比例
    bar.BarHeight = 8   '条码高度
    Bar.QuietZoneWidth = 2  '静区宽度
    Bar.CodeAlignment = Barpro.Alignment.BelowJustify
    Bar.BottomMargin = 1   '条码离文字底下距离
    Bar.Font = New Font("宋体",12,FontStyle.Bold)
    rm = new prt.RenderImage
    rm.Image = bar.GetImage
    rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '图片水平居中
    rm.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center '图片垂直居中
    ra1.Children.Add(rm) '加入文本到RenderArea中
    doc.Body.Children.Add(rt)
Next
doc.Preview() '预览报表

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110792 积分:563898 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/17 15:43:00 [只看该作者]

循环里面的打印对象都需要重新new一个,不然重复添加【doc.Body.Children.Add(rt)】就是这个提示
For Each r As Row In Tables("条码").Rows
    Dim n As Integer = 0
    n = n + 1
rt = new prt.RenderTable()
    rt.Style.GridLines.All = New prt.LineDef  '将网格线类型设为默认类型

 回到顶部