Dim rg As prt.RenderGraphics
Dim i As Integer
Dim doc As New PrintDoc '定义一个报表
Dim tb As Table = Tables("待办事项")
Dim rw As Row = tb.Rows(i)
Dim Rows As List(Of DataRow)
Dim Regions As List(Of String) = tb.DataTable.GetValues("待办人")
doc.Pagesetting.LandScape = True
Dim ColNames As New List(Of String)
For Each cl As Col In tb.Cols '排除隐藏列
If cl.Visible Then
ColNames.Add(cl.Name)
End If
Next
For Each Region As String In Regions
'加入标题
Dim ra As New prt.RenderArea '定义一个容器
Dim rt As New prt.RenderTable() '定义一个表格对象
Dim rx As New prt.RenderText '定义一个文本对象
rx =new prt.RenderText
rx.text = "党史学习教育领导小组工作提示单"
rx.Style.FontBold = True '字体加粗
rx.Style.FontSize = 24 '大体大小为16磅
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
rx.Style.Spacing.Top = 3 '和下面的对象(表格)距离3毫米
ra.Children.Add(rx) '加入到容器中
rx =new prt.RenderText
rx.text = Region & ":"
rx.Style.FontBold = True '字体加粗
rx.Style.FontSize = 14 '大体大小为16磅
rx.Style.TextAlignHorz = prt.AlignHorzEnum.left '水平居中排列
rx.Style.Spacing.Top = 5 '和下面的对象(表格)距离3毫米
ra.Children.Add(rx) '加入到容器中
rx =new prt.RenderText
rx.text = " 请速度完成如下待办事项."
rx.Style.FontBold = True '字体加粗
rx.Style.FontSize = 14 '大体大小为16磅
rx.Style.TextAlignHorz = prt.AlignHorzEnum.left '水平居中排列
rx.Style.Spacing.Top = 5 '和下面的对象(表格)距离3毫米
ra.Children.Add(rx) '加入到容器中
rt.Style.Font = tb.Font
rt.Rows.Count = 1 '设置总行数
rt.Cols.Count = 5 '
rt.Cols(0).Width = 20 '设置列宽
rt.Cols(1).Width = 25 '设置列宽
rt.Cols(2).Width = 40 '设置列宽
rt.Cols(3).Width = 70 '设置列宽
rt.Cols(4).Width = 20 '设置列宽
'''设置表格样式
rt.Style.TextAlignVert = prt.AlignVertEnum.Center '内容垂直居中
rt.Style.GridLines.All = New prt.Linedef '设置网格线
'''下面很简单,指定每一个单元格的内容
rt.Cells(0,0).Text= "时间"
rt.Cells(0,1).Text= "事项类别"
rt.Cells(0,2).Text= "事项名称"
rt.Cells(0,3).Text= "事项内容"
'
rt.Cells(0,4).Text= "完成情况"
Rows = tb.DataTable.Select("[待办人] = '" & Region & "'")
For r As Integer = 0 To Rows.Count -1 '开始填入该列内容
rt.Rows(r).Height = 15 '设置行高
rt.Rows(r+1).Height = 15 '设置行高
rt.Cells(r + 1, 0).Text = Rows(r)("应办时间")
rt.Cells(r + 1, 0).Style.TextAlignVert = prt.AlignHorzEnum.Center
rt.Cells(r + 1, 1).Text = Rows(r)("事项类别")
rt.Cells(r + 1, 1).Style.TextAlignVert = prt.AlignHorzEnum.Center
rt.Cells(r + 1, 2).Text = Rows(r)("事项名称")
rt.Cells(r + 1, 2).Style.TextAlignVert = prt.AlignHorzEnum.Center
rt.Cells(r + 1, 3).Text = Rows(r)("事项内容")
rt.Cells(r + 1, 4).Text = Rows(r)("完成情况")
rt.Cells(r + 1, 4).Style.TextAlignHorz=prt.AlignHorzEnum.Center
Next
rt.BreakAfter = prt.BreakEnum.page
rt.Style.Gridlines.All = New prt.Linedef(Color.Gray) '灰色网格线
rt.CellStyle.Spacing.All = 0.5 '单元格内距设为0.5毫米
rt.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行内容水平居中
ra.Children.Add(rt) '加入到容器中
doc.Body.Children.Add(ra)
Next
doc.Preview()