Swing JTable超复杂报表(二)

原有功能:无限极分组统计报表;以及无限极交叉分组报表;设置表格字体;对齐方式;设置每个单元格宽度;汇总单元格收缩,展开;辅助汇总列,统计汇总列

调整显示位置,保存最新调整大小,宽度,字体等

新增:统计汇总Bean 如:数量 数量占比 金额 金额占比 整型数量 计算策略外包配置,实现统计汇总列,依据实际需求,计算结果。

对于计算策略,在配置文件中给出

在增:对于分组汇总Bean 比喻:门店 款号 时间 增加 合计行

<1>分组报表

Swing JTable超复杂报表(二)_第1张图片

<2>分组交叉报表

Swing JTable超复杂报表(二)_第2张图片

本文是继Swing JTable复杂报表 http://blog.csdn.net/sjdl9396/article/details/6887800 之后 继续增强

在第一次文章中,只是介绍报表的基本功能,现在稍微介绍Swing报表实现原理

其实实现这样的报表主要是研究JTable类,根据JTable给定接口,自己实现一个数据结构。

XML 设计模式(OO) JTable自定义 TableModel自定义 JTableHeader自定义 分组汇总对象树结构

<1>通过XML配置相关汇总列信息,将XML解析成Bean,通过给定数据和Bean构建分组汇总对象树,实际上JTable的数据模型依赖于分组汇总对象树,此JTable有多少行,

数据值怎么显示,那些行合并,等等都是依据分组汇总对象树,对于列头的显示就是依据XML配置文件

注:JTable有TableModel,TableColumnModel,JTableHeader

TableModel只负责Table的数据和对应行的行为

TableColumnModel只负责列的信息

JTableHeader根据TableColumnModel显示列头

<2>xml中的汇总Bean分三种:分组汇总Bean,统计汇总Bean,辅助汇总Bean

对于<1>分组报表 分组汇总Bean:门店,款号,时间 三级汇总

辅助汇总Bean:款号分组汇总Bean 商品名称和品牌

统计汇总Bean:数量,数量占比,金额,金额占比,整型数量

对于<2>交叉分组报表 分组汇总Bean:门店,款号,操作人

辅助汇总Bean:款号分组汇总Bean 商品名称和款号

统计汇总Bean:数量,金额,金额占比,整型数量

交叉列信息:在xml主配置文件中,给出

你可能感兴趣的:(jtable)