分组报表

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()

执行结果:

 


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