直接进行统计
要打印统计数据,并不一定要借助CrossTableBuilder或CrossTableBuilder来生成一个统计表,我们完全可以在报表生成的过程中进行统计。
例如下面的代码,直接打印出不同产品的销售数量和金额,没有借助任何统计表:
Dim
 Names 
As List(Of 
String) = 
Tables("订单").DataTable.GetValues("产品")
Dim doc As 
New PrintDoc
Dim rt As 
New prt.RenderTable
rt.Cells(0,0).Text = 
 "产品"
rt.Cells(0,1).Text = 
 "订购次数"
rt.Cells(0,2).Text = 
 "数量"
rt.Cells(0,3).Text = 
 "金额"
For i As
integer = 
  
0 
To Names.Count -1
    rt.Cells(i+1,0).Text= 
Names(i)
    rt.Cells(i+1,1).Text = 
 Tables("订单").DataTable.Compute("Count(日期)","产品='" 
& Names(i) & "'")
    rt.Cells(i+1,2).Text = 
 Tables("订单").DataTable.Compute("Sum(数量)","产品='" 
& Names(i) & "'")
    rt.Cells(i+1,3).Text = 
 Tables("订单").DataTable.Compute("Sum(金额)","产品='" 
& Names(i) & "'")
Next
rt.Style.Gridlines.All = New prt.Linedef(Color.Gray) 
'灰色网格线
rt.CellStyle.Spacing.All =
  1
'内容距离网格线1毫米
rt.Rows(0).Style.TextAlignHorz 
= prt.AlignHorzEnum.Center '第一行内容水平居中
doc.Body.Children.Add(rt)
doc.Preview()
打印结果:

 
 
    
本页地址:http://www.foxtable.com/webhelp/topics/1240.htm