use*_*041 4 java sorting swing jtable
假设我有一个 JTable,其中包含一些数据。调用 table.getValueForCell(row,col) 返回单元格的内容。这正如预期的那样。
现在说我想对我的桌子进行排序。我单击表头(列),它会对表进行排序。如果我使用相同的行和列值调用 table.getValueForCell(row,col) 。现在这里有一个不同的行,因为表已排序。但是,table.getValueForCell(row,col) 返回旧数据。排序时,保存表数据的底层数据结构似乎没有更新。
关于如何解决这个问题的任何想法,或者我可能做错了什么?
数据始终按其原始顺序存储在 TableModel 中。您可以使用以下方式访问原始订单:
table.getModel().getValueAt(...);
Run Code Online (Sandbox Code Playgroud)
每当表排序时,只有视图发生变化。当您从表中获取数据时,您只需使用:
table.getValueAt(...);
Run Code Online (Sandbox Code Playgroud)
如果出于某种原因需要在两者之间来回转换,您可以使用任一适当的表方法:
convertRowIndexToModel(...);
convertRowIndexToView(...);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6474 次 |
| 最近记录: |