分组报表
DataBinding有一个Grouping子属性,用于设置分组。
例如我们希望按产品分组,分别打印每一个产品的销售明细,代码如下:
Dim doc As New
PrintDoc
Dim rt As
New
prt.RenderText
Dim ra As
New prt.RenderArea
ra.DataBinding.DataSource = BindTables("订单")
'将容器绑定到订单表
ra.DataBinding.Grouping.Expressions.Add("Fields!产品.Value")
'根据产品进行分组
ra.Style.Spacing.Bottom = 2
'这一个RenderText无需设置DataBinding,这样每一个分组只打印一次
rt.Text= "[Fields!产品.Value]明细:"
rt.Style.FontSize = 14
rt.Style.FontBold = True
ra.Children.Add(rt)
'这一个RenderText需要单独设置DataBinding,这样才会针对每一个数据行打印副本
rt =
New
prt.RenderText
rt.Text = "日期:[Format(Fields!日期.Value,""yyyy-MM-dd"")]
客户:[Fields!客户.Value] 数量:[Fields!数量.Value]"
rt.DataBinding.DataSource = ra.DataBinding.DataSource
'不能漏掉这一行
ra.Children.Add(rt)
doc.body.Children.Add(ra)
doc.Preview()