以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  专业报表二维码/条形码生成问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=183613)

--  作者:z769036165
--  发布时间:2022/11/9 10:44:00
--  专业报表二维码/条形码生成问题
请问采用的专业报表通过这个表绑定,我这需要根据绑定的表每行显示一个对应行字段的条形码/二维码,请问这个怎么做?

最简单的绑定

首先还是打开我们的示例文件“专业报表.Table”,然后在命令窗口执行下面的代码:

Dim doc As New PrintDoc
Dim
rt As New prt.RenderText
rt.DataBinding.DataSource = BindTables(
"订单") \'将rt绑定到订单表
rt.Text=
"[Fields!产品.Value]" \'设置打印字段

doc.body.Children.Add(rt)
doc.Preview()

上述代码会打印出订单表中每一行的产品名称。

DataBinding用于设置打印对象的绑定属性,该属性包括一些子属性,DataSource表示数据来源,数据来源可以是Table,还可以是数组或者集合。
需要注意的是,不能直接绑定到Table,如果要绑定到Table,必须用BindTables来设置,例如:

rt.DataBinding.DataSource = BindTables("订单")

如果对象的内容来自于某一列,其Text属性的设置格式如下:

[Fields!列名称.Value]



--  作者:有点蓝
--  发布时间:2022/11/9 10:50:00
--  
不要使用绑定的方式,使用遍历表格的方式生成内容,比如:http://www.foxtable.com/webhelp/topics/1239.htm


--  作者:z769036165
--  发布时间:2022/11/9 11:00:00
--  
另外还问个问题
图片点击可在新窗口打开查看
这个条形码设置表格靠右怎么设置都靠不过去,一直在左边,请问怎么设置
Dim Bar As New BarCodeBuilder   \'生成条码
Bar.Symbology = Barpro.Symbology.Code128
Bar.Code = "单号"
Bar.QuietZoneWidth = 2
Bar.DisplayChecksum = False
Bar.BarHeight = 5
Bar.DisplayCode = False
Dim rg As prt.RenderGraphics
rg = new prt.RenderGraphics
bar.DrawOnCanvas(rg.Graphics,0,0,1)
rg.Style.Spacing.Right = 3

rx.Cells(1,5).RenderObject =  rg  \'将条码写入rx表格中


--  作者:有点蓝
--  发布时间:2022/11/9 11:17:00
--  
试试设置left
rg.Style.Spacing.left = 10
--  作者:z769036165
--  发布时间:2022/11/9 11:30:00
--  
这种可以,不知道为啥直接靠右不行,这样不是那么方便,要一个个试出最需要的效果
--  作者:有点蓝
--  发布时间:2022/11/9 11:52:00
--  

.Spacing.Right = 3 是指距离右边的对象3毫米,问题是右边没有东西啊