Tables("调标表").Filter ="" '取消筛选
Dim Q As String
Q = e.Form.Controls("输入单位名称").Value
Dim doc As New PrintDoc() '定义一个报表
doc.PageSetting.PaperKind = 8 '纸张类型改为A3
doc.PageSetting.Landscape = True '横向打印
doc.AutoRotate = False '禁止自动旋转打印内容
Doc.PageSetting.LeftMargin = 30 '设置左边距
Doc.PageSetting.RightMargin = 25 '设置右边距
Doc.PageSetting.TopMargin = 30'设置上边距
Doc.PageSetting.TopMargin = 25 '设置下边距
'设置标题
Dim rs As New prt.RenderTable()'定义一个表格
'设置各位置的网格线
rs.Style.GridLines.All = New Prt.LineDef(0.4, Color.Black)
rs.Style.GridLines.Horz = new Prt.LineDef(0.3,Color. Black)
rs.Style.GridLines.Vert = new Prt.LineDef(0.3,Color. Black)
Rs.Width = 369 '设置表格的宽度为369毫米
rs.rows.count = 2 '设置总行数
rs.cols.count = 8 '设置总列数
Rs.Rows(0).Height =18 '设置表格第一行的高度为18毫米
Rs.Rows(1).Height =8 '设置表格第二行的高度为8毫米
rs.cells(0,0).spancols = 8 '第1行第1个单元格向右合并8列
rs.Cells(0,0).Text = "桐梓县机关(参公)单位工作人员地方津贴补贴调标审批花名册" '设置表格第一行第一个单元格内填入文本的内容
rs.Rows(0).style.F '设置第一行字体
rs.Rows(0).Style.FontSize = 28 '字体大小为28磅 '设置第一行字体大小
rs.Rows(0).Style.FontBold = True '第一行字体是否加粗
rs.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行内容水平居中
rs.Rows(0).Style.TextAlignVert = prt.AlignVertEnum.Center '第一行内容垂直居中
rs.Rows(1).style.F '设置第二行字体
rs.Rows(1).Style.TextAlignVert = prt.AlignVertEnum.Center '第二行内容垂直居中
rs.Rows(1).Style.FontSize = 12'字体大小为12磅 '设置第二行字体大小
rs.cells(1,0).spancols = 2 '第2行第1个单元格向右合并2列
rs.Cells(1,0).Text = "填报单位(章): " & Q '设置表格内第二行第一个单元格填入文本内容
rs. Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.left '第二行第一个单元格内的内容靠左
rs.cells(1,2).spancols = 2 '第2行第3个单元格向右合并2列
rs.Cells(1,2).Text = "审批人:" '设置表格内第二行第三个单元格填入文本内容
rs. Cells(1,2).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第二行第三个单元格内的内容水平居中
rs.cells(1,4).spancols = 3 '第2行第5个单元格向右合并3列
rs.Cells(1,4).Text = "人事部门审核(章):" '设置表格第二行第五个单元格内填入文本内容
rs. Cells(1,4).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第二行第五个单元格内的内容水平居中
rs.Cells(1,7).Text = "单位:元/月" '设置表格第二行第八个单元格内填入文本内容
rs. Cells(1,7).Style.TextAlignHorz = prt.AlignHorzEnum.right '第二行第八个单元格内的内容靠右
rs.style.spacing.bottom = 0 '和下面的对象(表格)距离0毫米
Doc.PageHeader = rs '作为页眉使用
Dim ck As WinForm.ComBoBox = e.Form.Controls("输入单位名称")
Tables("调标表").Filter = "[单位名称] = '" & ck.value & "'" '筛选出指定单位名称的行
Dim rs2 As New prt.RenderTable() '定义一个表格对象
Dim tb as Table = Tables("调标表")
Dim ColNames As String() = New String(){"序号", "姓名", "性别","出生日期", "身份证号", "民族", "参加工作时间", "享受地方津贴补贴职务级别", "调整前地方津贴补贴", "调整后地方津贴补贴", "月增资额", "补发月数", "补发合计"}
Rs2.cansplithorz = false '表格宽度超出页宽时,不允许水平换页
Rs2.Style.Font = tb.Font '设置字体
For c As Integer = 0 To ColNames.Length - 1 '逐列设置和填入内容
rs2.cols(c).Style.TextAlignVert = prt.AlignVertEnum.Center '数据垂直居中
Rs2.Cols(c).Style.TextAlignHorz = prt.AlignHorzEnum.Center '数据水平居中
For r As integer = 0 To tb.Rows.Count -1 '开始填入该列内容
rs2.rows(r+1).height = 6 '设置添加内容的行的行高
rs2.Rows(R+1).Style.FontSize = 12'字体大小为12磅 '设置字体大小
Rs2.Cells(r + 1, c).Text = tb.Rows(r)(ColNames(c))
Next
Next
Dim cnt As integer = Rs2.Rows.Count + 1
rs2.Rows(cnt).Style.FontSize = 13 '字体大小为13磅 '设置最后一行字体大小
rs2.rows(cnt).height = 10 '设置最后一行的行高
Rs2.cells(cnt,0).spancols = 8 '最后一行第1个单元格向右合并8列
Rs2.Cells(cnt,0).Text = "合计" '设置表格内最后一行第一个单元格填入文本
For c As Integer = 8 To ColNames.Count - 1 '逐列设置和填入内容
If tb.Cols(ColNames(c)).IsNumeric then
Rs2.Cells(cnt,c).Text = tb.Compute("Sum(" & ColNames(c) & ")")
End If
Next
'设置各位置的网格线
Rs2.style.gridlines.all = new prt.linedef '将网格线类型设为默认类型
Rs2.Cols.Count = 13 '设置列数
Rs2.Rows(0).Height =15 '设置表格第一行的高度为15毫米
Rs2.Rows(0).style.F '设置第一行字体
Rs2.Rows(0).Style.FontSize = 13 '字体大小为13磅 '设置第一行字体大小
Rs2.Cols(0).Width = 10 '序号列宽度
Rs2.Cols(1).Width = 22 '姓名列宽度
Rs2.Cols(2).Width = 10 '性别列宽度
Rs2.Cols(3).Width = 40 '出生日期列宽度
Rs2.Cols(4).Width = 45 '身份证号列宽度
Rs2.Cols(5).Width = 27 '民族列宽度
Rs2.Cols(6).Width = 40 '参加工作时间列宽度
Rs2.Cols(7).Width = 42 '享受地方津贴补贴职务级别(技术等级)列宽度
Rs2.Cols(8).Width = 32 '调整前地方津贴补贴列宽度
Rs2.Cols(9).Width = 32 '调整后地方津贴补贴列宽度
Rs2.Cols(10).Width = 30 '月增资额列宽度
Rs2.Cols(11).Width = 10 '补发月数列宽度
Rs2.Cols(12).Width = 29 '补发合计列宽度
Rs2.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum. Center '第一行内容靠中间对齐
Rs2.Rows(0).Style.TextAlignVert = prt.AlignHorzEnum. Center '第一行内容垂直居中
Rs2.Cells(0,0).Text= "序号"
Rs2.Cells(0,1).Text = "姓名"
Rs2.Cells(0,2).Text = "性别"
Rs2.Cells(0,3).Text= "出生日期"
Rs2.Cells(0,4).Text = "身份证号"
Rs2.Cells(0,5).Text = "民族"
Rs2.Cells(0,6).Text= "参加工作时间"
Rs2.Cells(0,7).Text = "享受地方津贴补贴职务级别(技术等级)"
Rs2.Cells(0,8).Text = "调整前地方津贴补贴"
Rs2.Cells(0,9).Text= "调整后地方津贴补贴"
Rs2.Cells(0,10).Text = "月增资额"
Rs2.Cells(0,11).Text = "补发月数"
Rs2.Cells(0,12).Text = "补发合计"
Rs2.RowGroups(0,1).PageHeader = True '第一行作为表头
Rs2.RowGroups(0,1).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行的文本水平居中
Rs2.RowGroups(0,1).Style.TextAlignVert = prt.AlignVertEnum.Center '第一行的文本垂直居中
Doc.body.children.add(rs2)
'设置页尾
Dim rs1 As New prt.RenderTable()'定义一个表格
'设置各位置的网格线
Rs1.Style.GridLines.All = New Prt.LineDef(0.4, Color.Black)
Rs1.Style.GridLines.Horz = new Prt.LineDef(0.3,Color. Black)
Rs1.Style.GridLines.Vert = new Prt.LineDef(0.3,Color. Black)
Rs1.Width = 365 '设置表格的宽度为365毫米
Rs1.Rows(0).Height =15 '设置表格第一行的高度为15毫米
Rs1.rows.count = 1 '设置总行数
Rs1.cols.count = 6 '设置总列数
Rs1.Rows(0).Height =6 '设置表格第一行的高度为6毫米
Rs1.Rows(0).style.F '设置第一行字体
Rs1.Rows(0).Style.FontSize = 12 '字体大小为12磅 '设置第一行字体大小
Rs1.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.right '第一行内容靠右
Rs1.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行内容水平居中
Rs1.Rows(0).Style.TextAlignVert = prt.AlignVertEnum.Center '第一行内容垂直居中
Rs1.cells(0,0).spancols = 2 '第1行第1个单元格向右合并2列
Rs1.Cells(0,0).Text = "单位负责人:" '设置表格内第一行第一个单元格填入文本内容
Rs1.cells(0,2).spancols = 2 '第1行第3个单元格向右合并2列
Rs1.Cells(0,2).Text = "填报人:" '设置表格内第一行第三个单元格填入文本内容
Rs1.cells(0,4).spancols = 2 '第1行第5个单元格向右合并2列
Rs1.Cells(0,4).Text = "填报日期:" '设置表格内第一行第五个单元格填入文本
Rs1.style.spacing.top = 1 '设置和上面对象的间隔
Rs1.RowGroups(0,1).Footer = prt.TableHeaderEnum.all '第一行作为表尾
doc.body.children.add(rs1)
doc.Preview() '预览报表