报表设计常规教程2-如何实现单级分组
本帖最后由 Lenka.Guo 于 2020-7-23 12:21 编辑表格默认以数据集中记录行的列表形式展示数据。如果您希望数据行按某个分类性质的字段进行分组显示,就需要为表格设置分组。报表模板:
实现步骤:
1. 添加表格控件
1.1 添加 5列
1.2 选中明细行,分组操作->插入分组
此时表格会在明细行上下各添加一行符号为【1的行,分别为 组头行,组尾行。
[*]组头行,常用于显示标题,分组字段值
[*]组尾行,分组的汇总数据。
组头和组尾行,可以根据需要可以再继续添加多行,只需要选中组行,选择添加行,会自动添加当前分组行,如果不需要分组行,可以选中该行,右键单击选择删除。
1.3 在本示例当中组尾会有三行的合计,所以需要添加两行
1.4在本示例中,会有两行组头行用于显示分组主标题和列标题,所以需要插入两行分组行
1.5 在本示例中不需要表格的表头和表尾行,所以将该行可以删除。
1.6 合并组头的第一行,用于显示分组大标题
2. 绑定数据
2.1 先设置表格分组字段,即要根据哪个字段的值进行汇总展示。
选择表格右侧的“表格分组”面板,点击第一项
点击 设置分组条件,选择分组的字段,如果是多个字段分组,可添加项目,设置多个字段。
2.2 拖拽字段到对应文本框
2.2.1 先设置分组大标题,分组大标题为多个字段拼接的表达式,所以需要【数据】-选择表达式属性
=Fields!类别ID.Value.ToString()+"、"+Fields!类别名称.Value+"(包括:"+Fields!类别说明.Value+")"
2.2.2 绑定明细数据
将字段拖拽到表格的明细行,注意不要拖拽到分组行,这样会导致数据只显示一行(重要!!!)。
2.2.3 销售额是需要通过【单价】*【订购量】来计算的,所以在销售额的单元格内设置数据时,需要设置表达式:
2.2.4 输入分组列标题
2.2.5 设置分组的汇总行,汇总行都是需要计算的,所以需要设置表达式:
[*]产品数量: =Count(Fields!产品ID.Value)&" 件"
[*]订购总量: =Sum(Fields!订购量.Value)&" 件"
[*]库存总量:=Sum(Fields!库存量.Value)&" 件"
[*]再订购总量: =Sum(Fields!再订购量.Value)&" 件"
[*]销售总金额(无税):=Sum(Fields!单价.Value* Fields!订购量.Value)
[*]销售总金额(含税):=Sum(Fields!单价.Value* Fields!订购量.Value*1.17)
3 设置样式
3. 1 设置标题行背景色
选中第一行的文本框后,设置 背景选项->颜色 输入色号 #02a274
设置第二行标题的颜色,选中整行后,将属性设置切换为文本框,设置背景色:#a8dcdb
3.2设置明细行的单双行交替色
选中明细行,将属性设置切换为文本框,设置背景色,输入表达式:
=IIF( RowNumber()mod 2,"#FFFFFF","#F1F9F8") 即根据单双行号,返回不同的背景色。
3.3 调整边线
[*]选择要移除掉边线的文本框,将鼠标点击第一行的单元格后,按住左键向下选中
设置 【边框选项】-【线型】-【无】,如果要设置为其他样式,也可以根据需求选择。附:边框可以设置上下左右的四个方位的边线,所以可根据需要点击符号调整
2. 设置行汇总行,只保留上下边线
选中三行后,设置线型及颜色
3.4 设置字体
请问我后台数据如何渲染上去呀。我是一个数组下,每个对象里都有一个子数组,就和示例的一样。但是我明白渲染单个的方法,如果是有 2 个及以上,要怎么渲染。我是 C# 。现在用 reportDocument.LocateDataSource += new LocateDataSourceEventHandler(document_LocateDataSource); 这个方法渲染数据。
页:
[1]