Java - Ocultar Columnas JTable

   
Vista:

Ocultar Columnas JTable

Publicado por Eduardo (144 intervenciones) el 23/09/2010 16:55:25
Hola, tengo una jtable creada a partir del modelo DefaultTableModel y cada fila que pinto contiene una serie de datos, además del id. Necesito poder dejar oculta esta columna, ya que no es información que el usuario tenga por qué saberla.
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Java
- Código fuente de Java
- Cursos de Java
- Temas de Java
- Chat de Java
información
Códigos de Java
- KeyEvent
- JCalendar
- Mezcla de colores

RE:Ocultar Columnas JTable

Publicado por octavio (74 intervenciones) el 03/10/2010 20:56:25
Una forma facil pero no muy eficiente es copiar todos los datos a un nuevo JTable pero sin la columna que deseas, para eso deberias crear un nuevo DefaultTableModel copiando todos los datos menos la columna que deseas ocultar y luego setear el modelo al JTable con el metodo setModel del JTable.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ocultar Columnas JTable

Publicado por Eduardo (144 intervenciones) el 03/10/2010 23:46:51
Hola y gracias por responder. Necesito poder acceder a esa columna que quiero ocultar. Si hago lo que tu me dices, como accedo a esa columna.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ocultar Columnas JTable

Publicado por Gilberto (1 intervención) el 07/12/2011 23:05:34
Que tal.

Un poco tarde la respuesta, pero estoy seguro de que a alguien le servirá. Muchos optan por reducir el ancho de la columna a 0. Así no se ve y esta disponibles. P.e.

1
2
3
4
...
jTblReservaciones.getColumnModel().getColumn(7).setPreferredWidth(0);
jTblReservaciones.getColumnModel().getColumn(8).setPreferredWidth(0);
...



Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ocultar Columnas JTable

Publicado por Carmelo (1 intervención) el 14/02/2013 18:29:07
No está mal, pero intentaré buscar la forma de tener una vista distinta al modelo.

Gracias!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar Columnas JTable

Publicado por Danny Gutiérrez (1 intervención) el 22/02/2013 19:07:27
La forma correcta es usando…

jTable.removeColumn(ListadoTable.getColumnModel().getColumn(1));

ya que con el width solo la hacemos más pequeña y puede visualizarse si hacemos un resize de una columna adjunta.

Esto no hace que se pierda su valor de columna.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar Columnas JTable

Publicado por Derlis (1 intervención) el 04/10/2014 23:18:08
Correcta tu respuesta, pero como puedo obtener el valor de la columna oculta? lo he intentado con por ejemplo, jtDetalleVenta.getValueAt(i, 5).toString();, pero me cuelga el sistema.

Agradecere tu respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar Columnas JTable

Publicado por Oundroni (1 intervención) el 09/11/2014 12:43:11
Veo que la mayoría de las respuestas olvida una obviedad, es hacer que la columna de ancho 0 no se pueda redimensionar.

miTabla.getColumnModel().getColumn(número de columna).setResizable(false);

No recomiendo utilizar 'removeColumn' porque se ignorará su posición ya que el programa cree que tiene menos columnas y dará muchísimos problemas. La solución es hacerla de ancho 0 e impedir que se redimensione.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar Columnas JTable

Publicado por Manu (1 intervención) el 14/06/2016 20:48:06
LO TENGO CHIC@S! Hay que modificar tambien el Header. Y tampoco hace falta tocar el preferredWidth

1
2
3
4
JTable.getColumnModel().getColumn(5).setMaxWidth(0);
JTable.getColumnModel().getColumn(5).setMinWidth(0);
JTable.getTableHeader().getColumnModel().getColumn(5).setMaxWidth(0);
JTable.getTableHeader().getColumnModel().getColumn(5).setMinWidth(0);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar