本篇文章主要介绍矩表基本结构和原理,让我们能够对矩表有一个清楚的认知,在使用矩表时,也能够清楚的了解它的数据结构及限制,本文主要偏底层的实现,所以看起来有些难懂,需要有矩表的技术背景。
-
认识设计器中的矩表
如下是设计器中添加矩表,与矩表相关的UI部分,其中矩表最终要的组件。
- 矩表分组编辑管理器,该窗口用于展示矩表当前的结构,展示其所有的行分组,静态行,列分组,静态列之间的主从关系以及位置关系。
- 分组属性窗口,矩表以分组为单位,所以一些属性设置都是基于分组的,而不是某一个TextBox,如分组数据过滤,组内数据排序等,这些都是针对分组来设置的,所以必须要设置分组属性,不同于TextBox。设置分组属性,就必须在分组编辑管理器当中,选中需要设置的分组,然后再查看对应的属性窗口。
2. 矩表结构介绍
矩表主要由静态行列和分组列组成的,所以在矩表中如果该单元格有【符号表示,表示该单元格为分组单元格, 如果不包含该符号,则称为,静态行列。
静态行列与分组行列的区别在于:
- 静态行列的数量是固定的,只能显示一次,要想显示多次,就需要多次手动添加静态行或列。
- 而分组行列,则会自动根据绑定的数据字段值的个数,来生成对应数量的行或列。
了解了静态与分组的区别后,我们在后续创建报表的过程中,就需要分清楚,哪些行列是固定不变的,那些行列是根据数据字段来自动生成的, 这样我们就可以构建基本的报表结构。
矩表是由静态行列和分组行列组成,这是它的基本结构,所有复杂的功能都在这个基础上来创建。
分组行列的特点:
- 分组嵌套;形成多级分组,因为报表需求,往往不是简单的单个行列就能满足的,往往需要在多级分组形成数据分子,所以分组行列,不仅能够动态生成行列,还能够进行分组嵌套,主分组下,添加子分组,子分组层次不限制。
- 自动合并相同内容的单元格,这个在中国式复杂报表中非常常见。
- 可在不同层级添加合计或小计功能。合计的公式可根据具体业务需求来自定义。
- 分组行列可包含于静态行列里面
3.矩表内部存储结构
矩表内部是以树形结构来存储的,所以我们在创建报表样式的时候,需要注意的不要破坏矩表的树结构,否则会报错异常。
4.矩表可解决的几大类报表
- 简单列表,矩表与表格的区别在于,矩表包含动态列的功能,以及强大的单元格合并功能,所以既可以创建简单的列表(删除分组,只保存静态行列),也可以创建交叉报表
- Word类报表。
- Excel 类报表
- 履历报表
了解ActiveReports产品更多特性:
下载产品体验产品功能: