2015-07-26 9 views
1

Я пытаюсь получить отсортированный TableModel из JTable в котором делается следующими простыми regex критериями:упорядочиваются TableModel

try { 
    TableRowSorter<TableModel> sortRow = new TableRowSorter<>(testTable.getModel()); 
    testTable.setRowSorter(sortRow); 
    String sortString = "Something"; 
    sortRow.setRowFilter(RowFilter.regexFilter("(?i)" + sortString)); 
} 

, который будет сортировать данные в соответствии с sortString.

Но когда я пытаюсь сделать следующее:

try { 
    TableRowSorter<TableModel> sortRow = new TableRowSorter<>(testTable.getModel()); 
    // .... 
    // previous code 
    // .... 
    TableModel tM = testTable.getModel(); 
    someOtherTestTable.setModel(tM); //<---Here 
} 

Это дает мне DefaultTableModel. Итак, мой вопрос таков: Как получить отсортированный TableModel, так что я могу отправить сообщение другому JTable?

ответ

3

A TableRowSorter условия вид, JTable; модель, TableModel, остается без изменений. Если базовая модель RowSorter остается прежней, вы можете применить старый TableRowSorter к новому JTable, используя setRowSorter().

… 
someOtherTestTable.setModel(tM); 
someOtherTestTable.setRowSorter(sortRow); 
+0

Есть ли способ изменить модель стола? Может быть, отбросить некоторые строки и затем скопировать содержимое? – optimus

+0

Изменить содержание? Нет проблем. Изменить структуру? Восстановите «TableRowSorter». – trashgod

 Смежные вопросы

  • Нет связанных вопросов^_^