ixM*_*ixM 8 java swing jtable swingx jxtreetable
我知道(我已查看过这些来源;))已禁用JXTreeTable上的排序.
但是,我想仅允许根据根节点的直接子节点的值对所有列进行排序.
说我有这样的结构:
Name / Date / File UID
(Root)
|- Mr. X / 1996/10/22 / AE123F6D
|--- File1 / 2012/01/10 / DFC2345Q
|--- File2 / 2012/01/11 / D321FEC6
|- Mrs. Y / 1975/03/03 / G2GF35EZ
|--- File3 / 2012/02/29 / 35GERR32
|--- File4 / 2012/01/22 / LKJY2342
.
.
.Run Code Online (Sandbox Code Playgroud)
我想要实现的是仅在第一级节点上对3列进行排序.假设我想按升序日期对其进行排序,它最终会像这样:
Name / Date / File UID
(Root)
|- Mrs. Y / 1975/03/03 / G2GF35EZ
|--- File3 / 2012/02/29 / 35GERR32
|--- File4 / 2012/01/22 / LKJY2342
|- Mr. X / 1996/10/22 / AE123F6D
|--- File1 / 2012/01/10 / DFC2345Q
|--- File2 / 2012/01/11 / D321FEC6
.
.
.Run Code Online (Sandbox Code Playgroud)
正如我所看到的,它适用于简单的表排序(因此解除了为禁用排序而调用的层次结构限制).
我看到有两种可能性:
我最喜欢的当然是第一个,但我不知道如何实现它.第一个限制是我不知道如何重新启用排序,因为JXTreeTable重写了setSortable()(和所有相关的方法),我不知道如何直接访问JXTable中的方法实现(这是一个Java问题).我可以简单地复制JXTreeTable的代码并删除覆盖,但在我看来这不是一个选项.
假设我解决了这个问题,我如何限制排序到第一级节点?即使在查看来源之后,我对如何做到这一点仍然毫无头绪.
对于第二个,我放弃了现有代码的所有好处,但我看到了实现我想要的实用方法(至少现在,至少.谁知道是否不想过滤所有行上的数据?).
还有其他方法吗?如果没有,我应该选择哪一种解决方案?任何有见地的评论?
提前谢谢了!
| 归档时间: |
|
| 查看次数: |
3907 次 |
| 最近记录: |