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