2008-09-21 30 views

Respuesta

9

Puede ordenar por varias columnas especificando más de una clave de clasificación al llamar al setSortKeys en el RowSorter que está utilizando.

+0

una pena que esto no esté disponible en java5 –

1

Debería poder configurar TableRowSorter y el Comparador asociado. Ejemplo:

TableModel myModel = createMyTableModel(); 
JTable table = new JTable(myModel); 
TableRowSorter t = new TableRowSorter(myModel); 
t.setComparator(column that the comparator works against, Comparator<?> comparator); 
table.setRowSorter(new TableRowSorter(myModel)); 
+0

no relacionado con tipos de varias columnas – kleopatra

1

Look en JXTable. JXTable es una extensión de JTable que admite clasificación de múltiples columnas, así como otras funciones que JTable no proporciona. Está disponible gratuitamente desde JDNC/SwingLabs.

+0

¿Estás seguro de eso? En realidad, la API de JXTable establece: "El soporte de clasificación es solo una columna". –

+0

Ok, pero funciona con filtros. solo tiene que poner shuttlesorters en una tubería de filtro –

1

ETable de la colección netbeans.
Es parte de org-netbeans-swing-outline.jar
Una búsqueda de Google para subirla. El ETable es principalmente una base para Outline (una TreeTable) pero tiene muchas columnas incorporadas y muchas otras funciones agradables

1

"Sé que Jtable puede ordenar por una sola columna. Pero ¿es posible permitir ordenar varias columnas o ¿necesito escribir el código yo mismo? "

La clasificación y el filtrado de tablas se gestiona mediante un objeto clasificador. La forma más sencilla de proporcionar un objeto clasificador es establecer la propiedad enlazada autoCreateRowSorter en verdadero;

JTable table = new JTable(); 
table.setAutoCreateRowSorter(true); 

Esta acción define un clasificador de fila que es una instancia de javax.swing.table.TableRowSorter.

+0

_no_ es incorrecto - una JTable definitivamente admite géneros de varias columnas (vea setSortKeys como se menciona en otra respuesta), solo la pista visual se muestra en el columna de clasificación primaria solamente – kleopatra

Cuestiones relacionadas