各位老师,我想实现的功能是每一个二维码对应一个文本说明,而文本说明是根据生成二维码的某一列的内容作为另一表的查询条件,去找到文本说明。也就是生成一个订单行的二维码,,通过订单中“用户编号”查找到用户表中对应的“用户姓名”,将“用户姓名”,作为二维码的说明文本。我写了如下代码,但是每次生成二维码的时候,都会生成多余的二维码。请老师指点,代码怎样修改?
Dim Result As DialogResult
Dim rs As List(of Row) = Tables("订单").GetCheckedRows()
If rs.Count > 0 Then
Dim doc As New PrintDoc
Dim rg As prt.RenderGraphics
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.QRCode
Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
For Each r As Row In rs
Bar.Code = "【用户编号】" & r("用户编号") & vbcrlf & "【产品批次】" & r("产品批次") & vbcrlf & "【产品名称】" & r("产品名称")
Bar.TextFont = New Font("微软雅黑",10.5)
Dim b As String=r("用户编号")
Dim ps As List( of String) =DataTables("用户").sqlgetvalues("用户姓名","","用户编号 = '" & b & "'")
For Each p As String In ps
Bar.HumanReadableText="用户姓名:" & dr("用户姓名")
Next
rg = new prt.RenderGraphics
bar.DrawOnCanvas(rg.Graphics,0,0,1)
rg.Style.Spacing.All = 1
Doc.Body.Children.Add(rg)
Next
Doc.Preview()
Else
messagebox.show("请选择打印二维码项?")
End If