多个分组

可以根据多列进行分组。
例如下面的代码同时根据产品和雇员分组:

Dim doc As New PrintDoc
Dim
rt As New prt.RenderText
Dim
ra As New prt.RenderArea
ra.Style.Spacing.Bottom =
2
ra.DataBinding.DataSource = BindTables(
"订单") '将容器绑定到订单表
ra.DataBinding.Grouping.Expressions.Add(
"Fields!产品.Value") '增加两个分组,分别是产品和雇员
ra.DataBinding.Grouping.Expressions.Add(
"Fields!雇员.Value") '
ra.Style.Spacing.Bottom =
2

'这一个RenderText无需设置DataBinding,这样每一个分组只打印一次

rt.Text=
"产品:[Fields!产品.Value] 雇员:[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/1258.htm