Dim rb1 As WinForm.RadioButton = e.Form.Controls("RadioButton1")
Dim rb2 As WinForm.RadioButton = e.Form.Controls("RadioButton2")
If rb1.Checked=True
Dim doc As New PrintDoc '定义一个报表
Doc.PageSetting.PaperKind=9
doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
Doc.PageSetting.leftMargin = 15
Doc.PageSetting.rightMargin = 15
Doc.PageSetting.TopMargin =5
Doc.PageSetting.BottomMargin =12
Dim ck As WinForm.CheckBox =e.Form.Controls("checkbox1")
Dim Rows As List(Of DataRow)
Dim tb As Table=Tables("初中报名_table5")
tb.sort= "考试室,考号"
Dim dr As DataRow = tb.DataTable.Find("考试室 is null")
Dim regions As List(of String())
If dr Is Nothing
Regions = tb.DataTable.GetValues("考试名称|单位名称|考试室","","考试室") ''''改后句子
Else
Regions = tb.DataTable.GetValues("考试名称|单位名称|年级") ''''改后句子
End If
Dim rm As prt.RenderEmpty
For Each region As String() In Regions
If ck.Checked= True
rm = new prt.RenderEmpty '定义一个新的空对象
rm.BreakBefore = prt.BreakEnum.Page '打印前换页
doc.Body.Children.Add(rm)
End If
If dr Is Nothing
Rows = tb.DataTable.Select("[单位名称] = '" & region(1) & "'And [考试室] ='" & region(2) & "'and [考试名称] ='" & region(0) & "'","考试室,考号")
Else
Rows = tb.DataTable.Select("[单位名称] = '" & region(1) & "'And [年级] ='" & region(2) & "'and [考试名称] ='" & region(0) & "'","考试室,考号")
End If
For r As Integer = 0 To Rows.Count -1
Dim ra As New prt.RenderArea
Dim rt As prt.RenderText
ra.Width = 60 '宽度53毫米
ra.Height = 40 '高度24毫米
ra.Style.Spacing.All = 0
ra.Style.Borders.All = New prt.Linedef(0, Color.Red) '设置边框
ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never '禁止水平分割
ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never '禁止垂直分割
Doc.Body.ChildRen.Add(ra) '将容器加入到报表中
rt = New prt.RenderText
rt.Text = Rows(r)("考试名称") & "考试"
rt.Style.Font=New Font("黑体", 18, FontStyle.Bold)
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Y = 9
ra.Children.Add(rt) '添加到容器中
rt = New prt.RenderText
rt.Text = Rows(r)("考试室")
rt.Style.Font=New Font("黑体", 8, FontStyle.Bold)
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Y = 18
ra.Children.Add(rt) '添加到容器中
rt = New prt.RenderText
rt.Text = Rows(r)("学校班级")
rt.Style.Font=New Font("黑体", 8, FontStyle.Bold)
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Y = 23
ra.Children.Add(rt) '添加到容器中
rt = New prt.RenderText
rt.Text = Rows(r)("考号") & " " & Rows(r)("姓名")
rt.Style.Font=New Font("黑体", 15, FontStyle.Bold)
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Y = 28
ra.Children.Add(rt) '添加到容
Next
Next
Doc.Preview() '预览报表
End If
If rb2.Checked=True
Dim doc As New PrintDoc '定义一个报表
Doc.PageSetting.PaperKind=9
doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
Doc.PageSetting.leftMargin = 0
Doc.PageSetting.rightMargin = 0
Doc.PageSetting.TopMargin =0
Doc.PageSetting.BottomMargin =0
Dim ck As WinForm.CheckBox =e.Form.Controls("checkbox1")
Dim Rows As List(Of DataRow)
Dim tb As Table=Tables("初中报名_table5")
tb.sort= "考试室,考号"
Dim dr As DataRow = tb.DataTable.Find("考试室 is null")
Dim regions As List(of String())
If dr Is Nothing
Regions = tb.DataTable.GetValues("考试名称|单位名称|考试室","","考试室") ''''改后句子
Else
Regions = tb.DataTable.GetValues("考试名称|单位名称|年级") ''''改后句子
End If
Dim rm As prt.RenderEmpty
For Each region As String() In Regions
If ck.Checked= True
rm = new prt.RenderEmpty '定义一个新的空对象
rm.BreakBefore = prt.BreakEnum.Page '打印前换页
doc.Body.Children.Add(rm)
End If
If dr Is Nothing
Rows = tb.DataTable.Select("[单位名称] = '" & region(1) & "'And [考试室] ='" & region(2) & "'and [考试名称] ='" & region(0) & "'","考试室,考号")
Else
Rows = tb.DataTable.Select("[单位名称] = '" & region(1) & "'And [年级] ='" & region(2) & "'and [考试名称] ='" & region(0) & "'","考试室,考号")
End If
For r As Integer = 0 To Rows.Count -1
Dim ra As New prt.RenderArea
Dim rt As prt.RenderText
ra.Width = 70 '宽度53毫米
ra.Height = 29.5 '高度24毫米
ra.Style.Spacing.All = 0
ra.Style.Borders.All = New prt.Linedef(0, Color.Red) '设置边框
ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never '禁止水平分割
ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never '禁止垂直分割
Doc.Body.ChildRen.Add(ra) '将容器加入到报表中
rt = New prt.RenderText
rt.Text = Rows(r)("考试名称") & "考试"
rt.Style.Font=New Font("黑体", 19, FontStyle.Bold)
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Y = 10
ra.Children.Add(rt) '添加到容器中
rt = New prt.RenderText
rt.Text = Rows(r)("考号") & " " & Rows(r)("姓名")
rt.Style.Font=New Font("黑体", 16, FontStyle.Bold)
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Y = 19
ra.Children.Add(rt) '添加到容
Next
Next
Doc.Preview() '预览报表
End If
老师,设计了两种情况,rb1.checked 和rb2.checked 都要实现不同考试室分页,现在是rb2.chedked时不能分页呢,错在哪里