override
getColumnClass
in yourXxxTableModel
, default class isString
, the your result fromRowSorter
is correctuse
Integer.Class
Sorting integer in jtable
문제
when i click the 'Price' radiobutton it sorts the Price Row but in this order
- 1
- 11
- 12
- 13
- 2
- 21
- 200
- 3
- 32
- 300
how can i fix it? im still new in java. please help me. thanks. :D
rdbtnNewRadioButton_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
DefaultRowSorter sorter = ((DefaultRowSorter)table.getRowSorter());
List <RowSorter.SortKey> sortKeys = new ArrayList<RowSorter.SortKey>();
sortKeys.add(new RowSorter.SortKey(4, SortOrder.ASCENDING));
sorter.setSortKeys(sortKeys);
}
});
해결책
다른 팁
Write your own comparator and then
sorter.setComparator(int column, Comparator<?> comparator)
refer this Why does my JTable sort an integer column incorrectly?
Convert your data column to an integer type in order to have the correct order.
SELECT
...,
CAST(YourColumnName as INT) as YourColumnName
...
FROM...
제휴하지 않습니다 StackOverflow