Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:打印“窗口1_table1”中所有选中的行

1楼
kevin 发表于:2011/12/7 16:35:00

请问:在专业报表中,打印“窗口1_table1”中所有选中的行

代码应该如何写?

2楼
程兴刚 发表于:2011/12/7 16:40:00
您这样泛泛地提问恐怕不好解决问题!
3楼
狐狸爸爸 发表于:2011/12/7 16:50:00

打印窗体中的Table和打印普通的Table,代码是一样的,打开CaseStudy目录下的文件: 统计演示.table,然后测试下面的代码:

 

Dim doc As New PrintDoc '定义一个新报表
Dim rt As New prt.RenderTable '定义一个新表格
Dim tb As Table = Tables("订单")
rt.Width = "Auto" '表格宽度为自动,也就是等于各列设置宽度之和
rt.SplitHorzBehavior = prt.SplitBehaviorEnum.SplitIfNeeded '表格宽度超出页宽时,可以水平换页
rt.Style.Font = tb.Font
For c As Integer = 0 To tb.Cols.Count -1 '逐列设置和填入内容
    rt.Cells(0,c).Text = tb.Cols(c).Name '列名作为标题
    rt.Cells(0,c).Style.TextAlignHorz = prt.AlignHorzEnum.Center '标题内容水平居中
    rt.Cols(c).Width = tb.Cols(c).PrintWidth '列宽等于实际列宽
    If tb.Cols(c).IsNumeric OrElse tb.Cols(c).IsDate Then '如果是数值或日期列
        rt.Cols(c).Style.TextAlignHorz = prt.AlignHorzEnum.Right '数据水平靠右
    End If
    For r As Integer = tb.TopPosition To tb.BottomPosition '开始填入该列内容
        rt.Cells(r + 1 - tb.TopPosition , c).Text = tb(r,c)
    Next
Next
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 '第一行内容水平居中
rt.RowGroups(0,1).Header = prt.TableHeaderEnum.All '利用行组,将第一行设为表头
doc.Body.Children.Add(rt) '将表格加入到报表
doc.Preview()

4楼
kevin 发表于:2011/12/7 17:47:00

狐爸你好,我试了,正常情况是够用了,

 

可是有时候我们会需要一张表中间插着不需要打印的行,例如,我只需要打印1、3、5、6、9行的数据,显然只能先选择这些行才开始打印。

 

5楼
狐狸爸爸 发表于:2011/12/8 9:09:00
筛选出要打印的行,然后再打印。
共5 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03320 s, 2 queries.