以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 【专业报表】怎么实现按照选择行来实现数据的打印呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109422) |
||||
-- 作者:李孝春 -- 发布时间:2017/11/11 14:47:00 -- 【专业报表】怎么实现按照选择行来实现数据的打印呢? 【专业报表】怎么实现按照选择行来实现数据的打印呢? 专业表中有多个不同的表格,怎么根据卷宗入库所选择的数据行来实现数据的批量打印呢? 目前怎么操作都只能实现打印当前行,麻烦各位老师多多指导 附上例子
Dim rs As List(of Row) = Tables("卷宗入库").GetCheckedRows If rs.Count > 0 Then \'如果存在符合条件的行 Dim doc As New PrintDoc \'定义一个报表 For Each r As Row In rs Dim Rows As List(Of DataRow) Dim CurRow As Row = Tables("卷宗入库").Current ‘怎么修正呢?不然每次都是选择了三行 结果打印的都是当前行三张一模一样的数据 ’ Dim bg As New prt.RenderTable() \'定义一个表格对象 bg.Style.GridLines.All = New prt.LineDef \'将网格线类型设为默认类型 bg.CellStyle.Spacing.All = 1 \'内容距离网格线1毫米 bg.Width = 160 \'表宽为150毫米 bg.Height = 50 \'表高为150毫米 bg.Rows.Count = 6 \'设置行数 bg.Cols.Count = 6 \'设置列数 bg.Cells(0,0).text = "贵州省瓮安县人民检察院" bg.Cells(0,0).SpanCols = 6 \'合并第一行全部单元格,用于显示主标题 bg.Cells(0,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'主标题居中 bg.Cells(0,0).Style.Font = New Font("宋体", 16, FontStyle.Bold) \'设置主标题字体 bg.Rows(0).Style.Borders.All = New prt.LineDef("0mm", Color.white) \'去掉第一行的网格线 \'设置副标题 bg.Cells(1,0).text = "涉案卷宗及财物二维码管理系统" \'通过左边空格数量来调整副标题位置 bg.Cells(1,0).SpanCols = 6 \'合并地二行全部单元格,用于显示副标题 bg.Cells(1,0).Style.Font = New Font("宋体", 16, FontStyle.Bold) \'设置主标题字体 bg.Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'副标题内容居中 bg.Rows(1).Style.Borders.All = New prt.LineDef("0mm", Color.white) \'去掉第二行的网格线 bg.Rows(1).Style.Borders.Bottom = New prt.Linedef \'恢复第二行底端的网格线 bg.Rows(1).Height = 8 \'设置第二行的高度,拉开和表格主体的距离. \'设置列标题 bg.Cells(2,0).text = "基本信息" \'通过左边空格数量来调整副标题位置 bg.Cells(2,0).SpanCols = 3 \'合并地二行全部单元格,用于显示副标题 bg.Cells(2,0).Style.Font = New Font("宋体", 10, FontStyle.Bold) \'设置主标题字体 bg.Cells(2,0).Style.TextAlignHorz = prt.AlignHorzEnum.left \'副标题内容居中 bg.Cells(2,3).text = "卷宗编号" bg.Cells(2,3).Style.TextAlignHorz = prt.AlignHorzEnum.right \'副标题内容居中 bg.Cells(2,4).text = currow("卷宗编号") \'通过左边空格数量来调整副标题位置 bg.Cells(2,4).SpanCols = 2 \'合并地二行全部单元格,用于显示副标题 bg.Cells(2,4).Style.Font = New Font("宋体", 10, FontStyle.Bold) \'设置主标题字体 bg.Cells(2,4).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'副标题内容居中 bg.Rows(2).Style.Borders.All = New prt.LineDef("0mm", Color.white) \'去掉第二行的网格线 bg.cells(2,0).Style.Borders.All = New prt.LineDef("0mm", Color.white) \'去掉第二行的网格线 bg.cells(2,3).Style.Borders.All = New prt.LineDef("0mm", Color.white) \'去掉第二行的网格线 bg.cells(2,3).Style.Borders.Bottom = New prt.Linedef \'恢复第二行底端的网格线 bg.cells(2,0).Style.Borders.Bottom = New prt.Linedef \'恢复第二行底端的网格线 bg.Rows(2).Style.Borders.Bottom = New prt.Linedef \'恢复第二行底端的网格线 bg.Rows(2).Height = 8 \'设置第二行的高度,拉开和表格主体的距离. \'设置列标题 bg.Cols(0).Width = 20 bg.Cols(1).Width = 45 bg.Cols(2).Width = 20 bg.Cols(3).Width = 45 bg.Cols(4).Width = 20 bg.Cols(5).Width = 20 bg.Rows.Count = 4 bg.Rows(0).Height = 15 bg.Rows(1).Height = 15 bg.Rows(2).Height = 10 bg.Rows(3).Height = 10 bg.Rows(4).Height = 10 bg.Rows(5).Height = 10 bg.Rows(6).Height = 10 bg.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'所有文本内容居中\' bg.Cells(3,0).Text = "所属地州" bg.Cells(3,1).Text = CurRow("所属地州") bg.Cells(3,2).Text = "卷宗名称" bg.Cells(3,3).Text = CurRow("卷宗名称") bg.Cells(3,4).Text = "涉案款物" bg.Cells(3,5).Text = CurRow("涉案款物") bg.Cells(4,0).Text = "所属单位" bg.Cells(4,1).Text = CurRow("所属单位") bg.Cells(4,2).Text = "卷宗册数" bg.Cells(4,3).Text = CurRow("卷宗册数") bg.Cells(4,4).Text = "款物数量" \'bg.Cells(4,5).Text = ndr("款物数量") bg.Cells(5,0).Text = "承办部门" bg.Cells(5,1).Text = CurRow("承办部门") bg.Cells(5,2).Text = "承办人员" bg.Cells(5,3).Text = CurRow("承办人") bg.Cells(5,4).Text = "使用人员" bg.Cells(5,5).Text = CurRow("使用人") bg.Cells(6,0).Text = "录入时间" bg.Cells(6,1).Text = CurRow("录入时间") bg.Cells(6,2).Text = "联系电话" bg.Cells(6,3).Text = CurRow("联系电话") bg.Cells(6,4).Text = "办理状态" bg.Cells(6,5).Text = CurRow("办理状态") doc.Body.Children.Add(bg) Next Dim r1 As WinForm.RadioButton = e.Form.Controls("RadioButton1") Dim r2 As WinForm.RadioButton = e.Form.Controls("RadioButton2") If r1.Checked=True Then Doc.Preview() Else If r2.Checked=True Then Doc.Print() Else MessageBox.Show("请选择预览或者直打!") End If End If End If [此贴子已经被作者于2017/11/11 15:00:25编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2017/11/11 15:52:00 --
|