浏览 1637 次
锁定老帖子 主题:表格列值相同的情况下不显示
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-22
当迁移到三层架构时,也要求实现该功能,我们的前端是swing编写的,考虑了一下有两种思路: 第一:在后台返回一个对象列表的时候对其进行处理,逐行判断比较,如果值相同则将值值为null,这样数据填充到表格的时候就不显示了。 第二:返回的对象列表不做处理,在表格上进行处理。这里利用了表格的rendder机制,在此进行判断。如果当前单元格的值与上一行单元格的值相同则不显示。 参考代码如下: if (hiddenRepeatValue){//隐藏重复值判断 if (row>=1){ Object preValue=table.getValueAt(row-1, column); if (preValue!=null&&value!=null&&preValue.equals(value)) ((JLabel)c).setText(""); } } 比较这两种方式第一种方式有一定的缺点,就是在表格前端排序的时候会有问题因为部分数据置为null了,当然如果在数据库端排序就没有问题了,第二种方式就相对比较完美了! 附件为两种工具实现的效果图! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |