- 浏览: 56918 次
- 性别:
- 来自: 深圳
-
文章分类
最新评论
现代化WEB项目中少不了要用到报表展现.对于中国式报表来说,复杂表头是必不要可少的一种表现形式。
形如下面的表格:
合并四
合并三 合并二
合并一 单元三
单元一 单元二 单元四 单元五
如何通过数据库表示这样一个复杂表头呢?其实他就是一个多叉树.在数据库里表达出一棵树信息
很简单吧.再者就是展现到页面时每一个树结点的Colspan,Rowspan怎么计算呢.Colspan比较简
单就是树的宽度.说白了就是叶结点的个数(因为叶结点的宽度都是1).Rowspan似乎不容易获得.
仔细看的话,你会发现当前结点Rowspan就是父结点为根的子树深度减去自身为根的子树的深度.
这样问题就解决了.
多叉树求树深的算法:
Code
public static int getTreeDepth(TreeNode root) {
if (root == null) {
return 0;
}
Iterator<TreeNode> it = root.getChildList().iterator();
List<Integer> depths = new ArrayList<Integer>();
while (it.hasNext()) {
TreeNode node = it.next();
depths.add(getTreeDepth(node));
}
Collections.sort(depths);
if (depths.isEmpty()) {
return 1;
} else {
return depths.get(depths.size() - 1) + 1;
}
}
形如下面的表格:
合并四
合并三 合并二
合并一 单元三
单元一 单元二 单元四 单元五
如何通过数据库表示这样一个复杂表头呢?其实他就是一个多叉树.在数据库里表达出一棵树信息
很简单吧.再者就是展现到页面时每一个树结点的Colspan,Rowspan怎么计算呢.Colspan比较简
单就是树的宽度.说白了就是叶结点的个数(因为叶结点的宽度都是1).Rowspan似乎不容易获得.
仔细看的话,你会发现当前结点Rowspan就是父结点为根的子树深度减去自身为根的子树的深度.
这样问题就解决了.
多叉树求树深的算法:
Code
public static int getTreeDepth(TreeNode root) {
if (root == null) {
return 0;
}
Iterator<TreeNode> it = root.getChildList().iterator();
List<Integer> depths = new ArrayList<Integer>();
while (it.hasNext()) {
TreeNode node = it.next();
depths.add(getTreeDepth(node));
}
Collections.sort(depths);
if (depths.isEmpty()) {
return 1;
} else {
return depths.get(depths.size() - 1) + 1;
}
}
发表评论
-
高精度
2011-08-31 20:40 1000之前提到过在商业运算中要使用BigDecimal来进行相关的钱 ... -
java中如何进行高精度运算
2011-08-31 20:32 795import java.math.BigDecimal; im ... -
win7下安装vs2008
2011-01-09 23:28 848在win7下安装VS2008有点不太让人愉快,不过白痴还是找到 ... -
设置响应头字段的些许应用
2010-12-11 13:04 1058禁止浏览器缓存当前文档内容 只要增加如下的响应头字段: r ... -
正则表达式
2010-12-11 12:39 581整理资料如下: \\ 反斜杠 \t 间隔 ('\u0009' ... -
应该懂的基础问题
2010-12-11 12:14 695问题一:我声明了什么! String s = &quo ... -
Java中的堆栈
2010-12-11 10:59 651Java把内存划分成两种:一种是栈内存,一种是堆内存。 ... -
Java IO 小结
2010-12-11 10:51 602什么是数据流 ----------数据流是指所有的数据通信通道 ... -
字符转换
2010-11-30 20:43 638问:怎样将GBK 编码的汉字转换成为 UTF-8 编码的汉 ... -
进制转换
2010-11-30 20:42 795计算机操作里面时常要牵涉到二进制、十进制、十六进制等。特别是在 ... -
关于java编码的转换
2010-11-30 20:17 576问:怎样将GBK 编码的汉字转换成为 UTF-8 编码的汉 ... -
编译器报:未调用原型函数(是有意用变量定义的吗?)(本文为原创,转载清注明出外)
2010-11-30 20:08 1817MSDN解释:编译器检测到未使用的函数原型。如果有意将该原型作 ... -
C++类型转换运算符重载
2010-11-30 20:06 849在C++中有一个特殊的运算符重载方法--类型转换运算符重载,形 ... -
ATL分解字符串
2010-11-30 20:05 753一个简单的分解字符串的方法: Code vector< ... -
java字符集(三)之java.io
2010-11-30 20:04 926java IO 的输出分两种,字节流: InputStream ... -
java字符集(二)
2010-11-30 20:03 665知道java的字符集编码,那么java是怎么读取内存中的字节转 ... -
编码字符集与字符集编码的区别(转)
2010-11-30 20:03 652需要再一次强调的是,无论历史上的UCS还是现如今的Unicod ... -
Unicode与UCS的历史恩怨(转载)
2010-11-30 19:59 550ASCII及相关标准 ... -
Java字符集(一)
2010-11-30 19:57 659UNICODE,GBK和BIG5就是编码的值,而utf-8,u ...
相关推荐
1.解决复杂表头的Excel导入。可以解决任何复杂的表头。 2.导入时,显示请稍后。。。提醒框,完毕后会自动隐藏 3.全面扫描Excel数据,将所有异常详细信息写入Excel,返回客户端,提供用户下载。方便修正错误数据。 4....
在实际应用中,你可能会遇到的问题包括如何处理嵌套的表头、如何自适应数据变化调整表头结构,以及如何优化导出性能等。通过对给定的代码进行分析和调试,你可以更深入地了解EasyExcel在处理复杂表头时的具体实现...
标题"**C#导出Excel复杂表头解决方案**"涉及的是在C#应用程序中如何高效地创建包含复杂结构的Excel表头,这在数据报告、数据分析或自动化办公场景中非常常见。复杂表头可能包括多级标题、合并单元格、自定义样式等。...
本示例涉及的主题是“java导出excel复杂表头”,这意味着我们要处理的不是简单的单级表头,而是包含多级或者多层次结构的表头。在描述中提到这是一个可以直接运行的Java工程,但需要进一步改造为Web下载服务。 首先...
"转C#DATAGRAIDVIEW复杂表头的做法" 本文将详细介绍如何实现C# DATAGRAIDVIEW 复杂表头的做法。DATAGRAIDVIEW是Windows Forms的一种控件,用于显示和编辑tablular数据,但是其默认的表头样式有限制,无法满足一些...
在一些复杂的应用场景中,我们可能需要实现更高级的功能,如复杂的表头和跨行列表体。这个主题主要关注如何利用`JTable`实现这些特性。 **1. 复杂表头** 复杂表头指的是具有多级或者分组的表头,这在处理具有层次...
Layui JS动态加载数据复杂表头多表头实例 Layui 是一个流行的前端框架,它提供了许多实用的组件和功能,其中表格组件是其中一个非常重要的组件。然而,在实际开发中,遇到复杂表头的需求是非常常见的,例如多表头、...
然而,有时候我们需要创建更复杂的表格布局,比如带有多行表头的表格。标题"qt 表格多行表头,复杂表头"正是指向这样一个需求。在描述中提到的“占用两行数据,利用合并表格功能实现多行表头”是实现这一功能的一种...
复杂表头固定行,固定列,纯css实现,样式可修改,可根据自己要求,更改表头,以及固定列的数量,本人亲测,确实好用
Excel操作,读取及汇出,复杂表头,可以设置表头样式
然而,有时我们需要展示更复杂的数据结构,这时就需要利用到“复杂表头”。本主题将深入探讨如何在WPF中创建和自定义DataGrid的复杂表头,以显示多层次的表头信息。 ### 1. 数据网格概述 WPF的DataGrid控件源自...
在EXT Grid中,表头(Header)是显示列标题的部分,而“复杂表头”则是指具有多层次、多维度展示数据的表头,可以更直观地组织和显示复杂的数据关系。 "EXT 复杂表头插件"是为了扩展EXT Grid的功能,使其能够支持...
今天我们将深入探讨如何实现标题中提及的几个关键功能:自定义复杂表头(包括多行表头和表头合并)、冻结或固定特定行。 首先,让我们从`QTableWidget`开始。`QTableWidget` 是一个即用型的表格控件,提供了完整的...
在前端开发中,有时我们需要处理含有复杂表头的表格,比如多级表头、可滚动的表头等,这些在数据分析或展示时非常常见。"Table表复杂表头.zip"这个压缩包文件显然包含了用于实现这种功能的资源,可能是HTML、CSS和...
QT QTableView QTableWidget 复杂表头(多行表头) 、(冻结、固定特定的行),具体效果看博客: https://blog.csdn.net/xiezhongyuan07/article/details/82857631
当我们需要创建具有复杂结构的表头,比如多级或合并的表头时,这通常涉及到自定义`JTableHeader`和使用`DefaultTableCellRenderer`。NetBeans IDE提供了便捷的方式来帮助开发者实现这些功能。本篇文章将详细介绍如何...
中国式复杂表头通常涉及到多级分类和交叉分组,这在传统的表格布局中可能会显得较为复杂。下面我们将详细探讨如何在 Cognos ReportNet 中制作这样的表头。 首先,我们从创建列表开始。在 ReportNet Studio 中,选择...
该代码类里面实现的主要操作: 1.ajax 访问后代接口,并将结果返回值绑定到kendo ui 的grid上。 2. 实现复杂的kendo ui 的grid的表头设置,这个是本人亲自写的,并且经过验证是正确的
在IT行业中,尤其是在前端开发领域,创建具有复杂表头和锁定列的数据展示表格是一个常见的需求。这通常涉及到数据量较大,需要对数据进行多维度分析的情况。标题“EXT复杂表头+锁定列例子”提示我们这里将探讨EXT库...
使用html做复杂的表格。复杂表格一般是用到td的两个属性:rowspan 、colspan属性值。 ... (1)rowspan 属性规定单元格可横跨...多表头表格</title> </head> <body> <table id="tab" cellpadding="1