多叉树解决复杂表头问题

 现代化WEB项目中少不了要用到报表展现.对于中国式报表来说,复杂表头是必不要可少的一种表现形式。

形如下面的表格:

 合并四
 合并三  合并二
 合并一 单元三
 单元一  单元二  单元四  单元五

 如何通过数据库表示这样一个复杂表头呢?其实他就是一个多叉树.在数据库里表达出一棵树信息

很简单吧.再者就是展现到页面时每一个树结点的Colspan,Rowspan怎么计算呢.Colspan比较简

单就是树的宽度.说白了就是叶结点的个数(因为叶结点的宽度都是1).Rowspan似乎不容易获得.

仔细看的话,你会发现当前结点Rowspan就是父结点为根的子树深度减去自身为根的子树的深度.

这样问题就解决了.

 多叉树求树深的算法:

Code
posted @ 2009-02-19 10:57  Christmas  阅读(947)  评论(3编辑  收藏  举报