2015-01-08 18 views
0

我有以下的jtable按sortKey列升序排序。如何在特定的索引处插入一个空行来排序jtable?

row# col1 col2 col3 sortKey 
1  a b c 1 
2  d e f 2 
3  g h i 3 

我已经使用TableRowSorter对这个JTable进行排序。 现在我想在行#1和行#2之间插入一个空行,结果应该看起来像。

row# col1 col2 col3 sortKey 
1  a b c 1 
2 
3  d e f 2 
4  g h i 3 

而是我得到这样

row# col1 col2 col3 sortKey 
1 
2  a b c 1 
3  d e f 2 
4  g h i 3 

结果如何解决空行到该表中的位置时,将垃圾分类?

+0

重复这一个: http://stackoverflow.com/questions/16970675/how-do-i-add-an-empty-row-to-jtable – blipman17

+1

@ blipman17:什么你认为这些问题是否与这个问题重复?这些是完全不同的问题man ...可能有数百个关于向jtable添加空行的问题,但是告诉我如何使用排序后的表进行处理。 – Nadeem

+0

如果你有自己的'TableRowSorter',只要确保它对空行使用正确的位置 – Robin

回答

2

如果你有一个JTableRowSorter并添加/插入一个新行,该行显示在由RowSorter确定的位置。因此,如果在您的示例中插入了空行(因此为空值),则该行将显示在第一个位置,因为“null”小于“1”。

如果你想在不同的位置,以显示它,你有两个选择:

  1. 您提供列SORTKEY一个适当的值(上插入行)。如果你想在你的示例中使用整数值作为排序键,并且想要在排序键为“1”和“2”的行之间显示一行,那么必须给新行赋值“2”并调整排序键值以下所有行。

  2. 您可以致电table.setRowSorter (null)停用排序。请记住,在使用行分拣机再次呼叫table.setRowSorter后,重新激活排序。

相关问题