gpt4 book ai didi

java - JTable 行排序而不更改 "Sl No"列

转载 作者:行者123 更新时间:2023-12-01 15:09:00 25 4
gpt4 key购买 nike

在我的 JTable 中,除了其他列之外,我还有一个“序列号”列,它只是对表中的记录进行编号。我希望在通过单击 JTable 列标题对行进行排序时修复此列。排序进展顺利,但“序列号”在此过程中混淆了。有什么办法可以保留“序列号”吗?当我对行进行排序时,列是否固定?

感谢您对此的帮助。

示例:

SlNo 名称
约翰一书
2 彼得
3 阿历克

对此进行排序(单击“名称”列)后,我得到:

SlNo 名称
3 亚历克
约翰一书
2 彼得

但是,我希望结果为:

SlNo 名称
1 亚历克
约翰二书
3 彼得

最佳答案

您是否尝试过实现自己的 TableRowSorter

看看Sorting and Filtering

更新

我一直在挖掘代码来检查这一点。这是可行的,但你必须重新发明轮子才能让它发挥作用。

默认实现只是将行/列值进行比较(getValueAt(row, column)),这很好,但不会为您提供任何上下文来做出您需要的决策make(即哪一行被排序,行值可能是什么等),事实上过滤器提供了更有值(value)的信息:P...

您真正想要覆盖的方法是私有(private)的...(DefaultRowSorter.compare),但我不确定它会以任何方式执行您想要的操作...

您剩下的唯一解决方案是从头开始实现您的解决方案(从 RowSorter 开始),该解决方案能够为您提供执行子组排序所需的所有信息。像表格模型、比较行和列之类的东西......

关于java - JTable 行排序而不更改 "Sl No"列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12559835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com