多个分组
可以根据多列进行分组。
例如下面的代码同时根据产品和雇员分组:
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()