[英]How can I sort Columns by Row values?
在線上有太多關於如何按列值對JTable的行進行排序的示例。
目前,我正在通過實現AbstractTableModel
並重寫getColumnClass
來返回數據的實際類來進行此操作。 然后調用setAutoCreateRowSorter
。
如何按行值對JTable中的列進行排序?
1)提取所有值TableHeader
到賣空陣列(可能是方法AbstractTableModel
)
2)在數組內部循環並調用
TableColumn column = table.getColumnModel().moveColumn(columnIndex, newIndex);
3)對於使用模型與視圖(反之亦然)的所有方法,必須添加
table/model#convertXxxIndexToXxx
4)對於重置,您必須通過調用在AbstractTableModel
創建方法
fireTableDataChanged(); or fireTableStructureChanged(); // not sure in this case
5)關於以上兩個fireTableXxxXxx的通知
This can be a problem if you have added any custom renderers or editor to
the table as you would lose them (by @camickr)
只需在JTable上定義並設置RowSorter。 這是一個簡單的教程:
http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#sorting
您可以通過單擊列標題對值進行排序(如果您要這樣)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.