老师好,又重做了一下,问题没有解决
我仔细试了一下,
规律是:查询后的行,批签发和通关单都不为空的情况下,批签发和通关单各打印一张,正常;
查询后的行,只要有一行或者全部行中的通关单为空的情况下,先打印完批签发,出一张空白,然后再打印通关单(如果有的话).
另外:不重复循环,不第二个问题也没解决,是我的思路不对吧,代码出下:
Dim tb As Table = Tables("出库查询_出库副表")
If tb.Current Is Nothing Then '如果表为空
MessageBox.Show("请按领取单位和出库时间查询!")
Else
Dim cnt As Integer = DataTables("出库").GetValues("领取单位",Tables("出库查询_出库副表").Filter).count '列出table 不同项列表
If Cnt >1 Then '如果不是同一领取单位
MessageBox.Show("请分领取单位打印!")
Else
Dim cs As List(Of String)
cs = Tables("出库查询_出库副表").DataTable.GetValues("批签发",Tables("出库查询_出库副表").Filter)
Dim c2s As List(of String)
c2s = Tables("出库查询_出库副表").DataTable.GetValues("通关单",Tables("出库查询_出库副表").Filter)
cs.AddRange(c2s)
If cs.Count >0 Then
For Each c As String In cs
Dim doc As New PrintDoc
Dim rm As New prt.RenderImage
rm.image = getimage("E:\My Pictures\"& c &".JPG")
rm.y = 10
rm.x = 10
rm.Width = "130%Parent" '设置尺寸为容器(页面)尺寸
rm.Height = "Auto" '高度由图片大小自动决定
rm.Style.ImageAlign.KeepAspectRatio = True '保持比例
doc.Body.Children.Add(rm) '将图片对象加入报表
Doc.Preview() '预览
'Doc.Print()
Next
End If
End If
End If
[此贴子已经被作者于2014-2-21 14:38:01编辑过]