Dim doc As New PrintDoc '定义一个报表
doc.PageSetting.Width = CStr(Tables("物流单打印设置").Current("纸宽"))
doc.PageSetting.Height = CStr(Tables("物流单打印设置").Current("纸高"))
doc.PageSetting.TopMargin = CStr(Tables("物流单打印设置").Current("上边距"))
doc.PageSetting.LeftMargin = CStr(Tables("物流单打印设置").Current("左边距"))
doc.PageSetting.RightMargin = CStr(Tables("物流单打印设置").Current("右边距"))
doc.PageSetting.BottomMargin = CStr(Tables("物流单打印设置").Current("下边距"))
Doc.PrinterName = Tables("物流单打印设置").Current("默认打印机")
doc.AutoRotate = False
Dim str As String
For Each dr As Row In Tables("开单明细_table1").Rows
If yd <> dr("运单号") Then
Dim rt As New prt.RenderTable() '定义一个表格对象
Dim rx As New prt.RenderText '定义一个文本对象
Dim ra As New prt.RenderArea '定义一个容器
ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never '禁止容器因为分页而被垂直分割
Dim kh As DataRow = DataTables("客户档案").SQLFind("序号='" & dr("客户序号") & "'")
rx.text = Tables("物流单打印设置").Current("标题一")
rx.Style.FontBold = True '字体加粗
rx.Style.FontSize = CStr(Tables("物流单打印设置").Current("标题一字体大小"))
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rx.Style.Spacing.Bottom = CStr(Tables("物流单打印设置").Current("表头与表格的距离"))
ra.Children.Add(rx) '加入到容器中
Dim rm As New prt.RenderImage '定义一个图片对象
rm.Image = GetImage(ProjectPath & "Attachments\Logo.jpg") '设置图片
'rm.Style.Borders.All = New prt.Linedef(1, Color.Red) '设置边框
rm.Style.ImageAlign.StretchHorz = True '禁止拉伸
rm.Style.ImageAlign.StretchVert = True
rm.Width = CStr(Tables("物流单打印设置").Current("Logo宽度"))
rm.Height = CStr(Tables("物流单打印设置").Current("Logo高度"))
rm.X = CStr(Tables("物流单打印设置").Current("logo左位置"))
rm.y = CStr(Tables("物流单打印设置").Current("logo上位置"))
rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center
ra.Children.Add(rm) '加入到容器中
rx = New prt.RenderText
rx.text = dr("出发地") & "→" & dr("目的地")
rx.Style.FontSize = CStr(Tables("物流单打印设置").Current("出发地目的地字体大小"))
rx.Style.FontBold = True
rx.x = CStr(Tables("物流单打印设置").Current("出发地左位置"))
rx.y = CStr(Tables("物流单打印设置").Current("出发地上位置") + Tables("物流单打印设置").Current("上边距"))
'rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
'rx.Style.Spacing.Bottom = 1 '和下面的对象(表格)距离3毫米
ra.Children.Add(rx) '加入到容器中
rx = New prt.RenderText
rx.text = Tables("物流单打印设置").Current("业务受理电话")
rx.Style.FontSize = CStr(Tables("物流单打印设置").Current("表格字体大小"))
rx.Style.FontBold = False
rx.x = CStr(Tables("物流单打印设置").Current("业务受理电脑左位置"))
rx.y = CStr(Tables("物流单打印设置").Current("业务受理电话上位置") + Tables("物流单打印设置").Current("上边距"))
''rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
''rx.Style.Spacing.Bottom = 1 '和下面的对象(表格)距离3毫米
ra.Children.Add(rx) '加入到容器中
'指定行数?列数?列宽?行高
rx = New prt.RenderText
rx.text = Tables("物流单打印设置").Current("电话")
rx.Style.FontBold = False
'rx.Style.FontBold = True '字体加粗
rx.Style.FontSize = CStr(Tables("物流单打印设置").Current("表格字体大小"))
rx.x = CStr(Tables("物流单打印设置").Current("电话左位置"))
rx.y = CStr(Tables("物流单打印设置").Current("业务受理电话上位置") + Tables("物流单打印设置").Current("上边距"))
'rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
'rx.Style.Spacing.Bottom = 1 '和下面的对象(表格)距离3毫米
ra.Children.Add(rx) '加入到容器中
'报表_table1表格样式
rt.Cols.Count = 11 '报表_table1总列数
rt.Cols(0).Width = CStr(Tables("物流单打印设置").Current("第一列宽度"))
rt.Cols(1).Width = CStr(Tables("物流单打印设置").Current("第二列宽度"))
rt.Cols(2).Width = CStr(Tables("物流单打印设置").Current("第三列宽度"))
rt.Cols(3).Width = CStr(Tables("物流单打印设置").Current("第四列宽度"))
rt.Cols(4).Width = CStr(Tables("物流单打印设置").Current("第五列宽度"))
rt.Cols(5).Width = CStr(Tables("物流单打印设置").Current("第六列宽度"))
rt.Cols(6).Width = CStr(Tables("物流单打印设置").Current("第七列宽度"))
rt.Cols(7).Width = CStr(Tables("物流单打印设置").Current("第八列宽度"))
rt.Cols(8).Width = CStr(Tables("物流单打印设置").Current("第九列宽度"))
rt.Cols(9).Width = CStr(Tables("物流单打印设置").Current("第十列宽度"))
rt.Cols(10).Width = CStr(Tables("物流单打印设置").Current("第十一列宽度"))
rt.CellStyle.Spacing.All = 0 '单元格内容缩进1毫米
rt.Style.GridLines.All = New prt.Linedef '报表_table1网格线
'rt.Style.TextAlignHorz = prt.AlignVertEnum.Center '内容垂直居中
rt.Style.TextAlignVert = prt.AlignHorzEnum.Center '垂直居中
Dim i As Integer = 1
rt.Cells(i, 0).SpanCols = 8
rt.Cells(i, 0).Text = "日期:" & Format(dr("到货日期"), "yyyy年MM月dd日")
rt.Cells(i, 0).Style.GridLines.Right = New prt.LineDef("0mm", Color.white)
rt.Cells(i, 8).SpanCols = 3
rt.Cells(i, 8).Text = "Ne:" & dr("运单号")
rt.Cells(i, 8).Style.GridLines.left = New prt.LineDef("0mm", Color.white)
rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
i = i + 1
rt.Cells(i, 0).Text = "收货人"
rt.Cells(i, 0).Style.TextAlignHorz = prt.AlignVertEnum.Center
rt.Cells(i, 1).SpanCols = 3
rt.Cells(i, 1).Text = dr("客户名称")
rt.Cells(i, 4).Text = "地址"
rt.Cells(i, 4).Style.TextAlignHorz = prt.AlignVertEnum.Center
rt.Cells(i, 5).SpanCols = 3
rt.Cells(i, 6).Text = kh("地址")
rt.Cells(i, 8).Text = "电话"
rt.Cells(i, 8).Style.TextAlignHorz = prt.AlignVertEnum.Center
rt.Cells(i, 9).SpanCols = 2
rt.Cells(i, 9).Text = kh("联系电话")
rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
i = i + 1
'rt.Rows(7).Style.TextAlignHorz = prt.AlignVertEnum.Top '唯独第7行是备注,内容靠上对齐
'下面很简单,指定每一个单元格的内容
rt.Cells(i, 0).SpanCols = 2
rt.Cells(i, 0).Text = "运输方式"
rt.Cells(i, 0).Style.TextAlignHorz = prt.AlignVertEnum.Center
rt.Cells(i, 2).Text = "件数"
rt.Cells(i, 2).Style.TextAlignHorz = prt.AlignVertEnum.Center
rt.Cells(i, 3).SpanCols = 2
rt.Cells(i, 3).Text = "重量"
rt.Cells(i, 3).Style.TextAlignHorz = prt.AlignVertEnum.Center
rt.Cells(i, 5).Text = "单价"
rt.Cells(i, 5).Style.TextAlignHorz = prt.AlignVertEnum.Center
rt.Cells(i, 6).Text = "保险"
rt.Cells(i, 6).Style.TextAlignHorz = prt.AlignVertEnum.Center
rt.Cells(i, 7).Text = "中转费"
rt.Cells(i, 7).Style.TextAlignHorz = prt.AlignVertEnum.Center
rt.Cells(i, 8).Text = "送货费"
rt.Cells(i, 8).Style.TextAlignHorz = prt.AlignVertEnum.Center
rt.Cells(i, 9).Text = "其他费用"
rt.Cells(i, 9).Style.TextAlignHorz = prt.AlignVertEnum.Center
rt.Cells(i, 10).Text = "合计"
rt.Cells(i, 10).Style.TextAlignHorz = prt.AlignVertEnum.Center
rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
'rt.Rows(2).Style.Borders.Top = New prt.Linedef '恢复第二行底端的网格线
rt.Rows(0).style.Font = New Font("宋体", Tables("物流单打印设置").Current("表格字体大小"))
'rt.Rows(0).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
'rt.RowGroups(0,3).Header = prt.TableHeaderEnum.All '前四行作为表头
i = i + 1
Dim je As Integer = 0
Dim j As Integer = 1
For Each r As DataRow In DataTables("开单明细").SQLSelect("运单号='" & dr("运单号") & "'")
rt.Cells(i, 0).SpanCols = 2
rt.Cells(i, 0).Text = r("运输方式")
rt.Cells(i, 0).Style.TextAlignHorz = prt.AlignHorzEnum.center
rt.Cells(i, 2).Text = r("件数")
rt.Cells(i, 2).Style.TextAlignHorz = prt.AlignHorzEnum.center
rt.Cells(i, 3).SpanCols = 2
If r("重量") = 0 Then
rt.Cells(i, 3).Text = ""
Else
rt.Cells(i, 3).Text = r("重量")
End If
rt.Cells(i, 3).Style.TextAlignHorz = prt.AlignHorzEnum.center
If r("单价") = 0 Then
rt.Cells(i, 5).Text = ""
Else
rt.Cells(i, 5).Text = r("单价")
End If
rt.Cells(i, 5).Style.TextAlignHorz = prt.AlignHorzEnum.center
If r("保险") = 0 Then
rt.Cells(i, 6).Text = ""
Else
rt.Cells(i, 6).Text = r("保险")
End If
rt.Cells(i, 6).Style.TextAlignHorz = prt.AlignHorzEnum.center
If r("中转费") = 0 Then
rt.Cells(i, 7).Text = ""
Else
rt.Cells(i, 7).Text = r("中转费")
End If
rt.Cells(i, 7).Style.TextAlignHorz = prt.AlignHorzEnum.center
If r("送货费") = 0 Then
rt.Cells(i, 8).Text = ""
Else
rt.Cells(i, 8).Text = r("送货费")
End If
rt.Cells(i, 8).Style.TextAlignHorz = prt.AlignHorzEnum.center
If r("付重庆") = 0 Then
rt.Cells(i, 9).Text = ""
Else
rt.Cells(i, 9).Text = r("付重庆")
End If
rt.Cells(i, 9).Style.TextAlignHorz = prt.AlignHorzEnum.center
rt.Cells(i, 10).Text = r("应收金额")
rt.Cells(i, 10).Style.TextAlignHorz = prt.AlignHorzEnum.center
''rt.Rows(i).Style.Font=new Font("宋体",Tables("物流单打印设置").Current("表体字体大小"),FontStyle.Bold)
rt.Rows(i).Style.Font = New Font("宋体", Tables("物流单打印设置").Current("表格字体大小"))
rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
je = je + r("应收金额")
j = j + 1
i = i + 1
Next
Do While j < 5
rt.Cells(i, 0).SpanCols = 2
rt.Cells(i, 0).Text = ""
rt.Cells(i, 2).Text = ""
rt.Cells(i, 3).SpanCols = 2
rt.Cells(i, 3).Text = ""
rt.Cells(i, 5).Text = ""
rt.Cells(i, 6).Text = ""
rt.Cells(i, 7).Text = ""
rt.Cells(i, 8).Text = ""
rt.Cells(i, 9).Text = ""
rt.Cells(i, 10).Text = ""
''rt.Rows(i).Style.Font=new Font("宋体",Tables("物流单打印设置").Current("表体字体大小"),FontStyle.Bold)
rt.Rows(i).Style.Font = New Font("宋体", Tables("物流单打印设置").Current("表格字体大小"))
rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
j = j + 1
i = i + 1
Loop
rt.Cells(i, 0).SpanCols = 2
rt.Cells(i, 0).Text = "合计大写:"
rt.Cells(i, 0).Style.TextAlignHorz = prt.AlignHorzEnum.center
rt.Cells(i, 2).SpanCols = 8
rt.Cells(i, 2).Text = CUMoney(je)
rt.Cells(i, 2).Style.TextAlignHorz = prt.AlignHorzEnum.center
'rt.Cells(i, 7).SpanCols = 2
'rt.Cells(i, 7).Text = "提货方式"
'rt.Cells(i, 7).Style.TextAlignHorz = prt.AlignHorzEnum.center
'rt.Cells(i, 9).SpanCols = 2
'rt.Cells(i, 9).Text = Args(8) ‘提货方式 Args(10)是备注
'rt.Cells(i, 9).Style.TextAlignHorz = prt.AlignHorzEnum.center
rt.Cells(i, 10).Text = "备注"
rt.Cells(i, 10).Style.TextAlignHorz = prt.AlignHorzEnum.center
rt.Rows(i).Style.Font = New Font("宋体", Tables("物流单打印设置").Current("表格字体大小"))
rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
i = i + 1
rt.Cells(i, 0).SpanCols = 2
rt.Cells(i, 0).Text = "付款方式:"
rt.Cells(i, 0).Style.TextAlignHorz = prt.AlignHorzEnum.center
rt.Cells(i, 2).SpanCols = 3
rt.Cells(i, 2).Text = dr("结算方式")
rt.Cells(i, 2).Style.TextAlignHorz = prt.AlignHorzEnum.center
rt.Cells(i, 5).SpanCols = 2
rt.Cells(i, 5).Text = "提货方式:"
rt.Cells(i, 5).Style.TextAlignHorz = prt.AlignHorzEnum.center
rt.Cells(i, 7).SpanCols = 3
rt.Cells(i, 7).Text = dr("提货方式")
rt.Cells(i, 7).Style.TextAlignHorz = prt.AlignHorzEnum.center
rt.Cells(i, 10).SpanRows = 2
rt.Cells(i, 10).Text = dr("备注")
rt.Cells(i, 10).Style.TextAlignHorz = prt.AlignHorzEnum.center
rt.Rows(i).Style.Font = New Font("宋体", Tables("物流单打印设置").Current("表格字体大小"))
rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
i = i + 1
rt.Cells(i, 0).SpanCols = 10
ra = rt.Cells(i, 0).Area
rx = New prt.RenderText '创建一个文本
rx.Text = Tables("物流单打印设置").Current("注意事项")
rx.Style.Font = New Font("宋体", Tables("物流单打印设置").Current("注意事项字体大小"))
rx.Style.FontBold = True '字体加粗
ra.Children.Add(rx)
rx = New prt.RenderText '创建一个文本
rx.Text = Tables("物流单打印设置").Current("注意事项1")
rx.Style.Font = New Font("宋体", Tables("物流单打印设置").Current("注意事项字体大小"))
rx.Style.FontBold = True '字体加粗
ra.Children.Add(rx)
rx = New prt.RenderText '创建一个文本
rx.Text = Tables("物流单打印设置").Current("注意事项2")
rx.Style.Font = New Font("宋体", Tables("物流单打印设置").Current("注意事项字体大小"))
rx.Style.FontBold = True '字体加粗
ra.Children.Add(rx)
rx = New prt.RenderText '创建一个文本
rx.Text = Tables("物流单打印设置").Current("注意事项3")
rx.Style.Font = New Font("宋体", Tables("物流单打印设置").Current("注意事项字体大小"))
rx.Style.FontBold = True '字体加粗
ra.Children.Add(rx)
rx = New prt.RenderText '创建一个文本
rx.Text = Tables("物流单打印设置").Current("注意事项4")
rx.Style.Font = New Font("宋体", Tables("物流单打印设置").Current("注意事项字体大小"))
rx.Style.FontBold = True '字体加粗
' ra.Children.Add(rx)
ra.Style.Spacing.Top = 2
ra.Style.Spacing.Bottom = 2
i = i + 1
rt.Cells(i, 0).SpanCols = 11
rt.Cells(i, 0).Text = Tables("物流单打印设置").Current("说明")
rt.Rows(i).Style.Font = New Font("宋体", Tables("物流单打印设置").Current("表格字体大小"))
rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
i = i + 1
rt.Cells(i, 0).SpanCols = 3
rt.Cells(i, 0).Text = "送货单位及经办人:"
rt.Cells(i, 0).Style.TextAlignHorz = prt.AlignHorzEnum.Right
rt.Cells(i, 3).SpanCols = 3
rt.Cells(i, 3).Text = Vars("uname")
rt.Cells(i, 3).Style.TextAlignHorz = prt.AlignHorzEnum.left
rt.Cells(i, 6).SpanCols = 3
rt.Cells(i, 6).Text = "收货单位及经办人:"
rt.Cells(i, 6).Style.TextAlignHorz = prt.AlignHorzEnum.Right
rt.Cells(i, 9).SpanCols = 2
rt.Cells(i, 9).Text = ""
rt.Rows(i).Style.Font = New Font("宋体", Tables("物流单打印设置").Current("表格字体大小"))
rt.Rows(i).Height = CStr(Tables("物流单打印设置").Current("表格高度"))
ra.Children.Add(rt) '加入到容器中
Doc.Body.ChildRen.Add(ra) '将容器加入到报表中
End If
yd = dr("运单号")
Next
Doc.Preview()
[此贴子已经被作者于2024/11/10 21:52:14编辑过]