Discussion:
Actualizar una JTable mediante su TableModel
(demasiado antiguo para responder)
Alvaro
2004-02-03 14:25:14 UTC
Permalink
Hola a todos,

Tengo un problema que no soy capaz de resolver. Tengo un IU que
principalmente abre Marcos en donde hay tablas que muestran las
propiedades de mis datos persistentes (estoy usando una base de datos
orientada a objetos - FastObjects JDO, pero eso no es lo importante).
En estos marcos tengo botones que me permiten insertar un nuevo
pedido, por ejemplo, o modificar el registro seleccionado en la tabla.
Cuando pulso el botón insertar se abre un Dialog para insertar el
pedido. El pedido es un objeto y la insercción la realizo
correctamente en la base de datos. El problema es cuando quiero
actualizar la tabla del Marco sobre el que se abrió el Dialogo. He
probado de todo y lo más aproximado que he hecho es con el método:

myTableModel.fireTableDataChange()

y redefiniendolo en mi TableModel para cargar el nuevo pedido
insertado y refrescar la tabla. Pero no funciona. La inserción en la
tabla la realizo cuando inserto otro pedido. Al insertar el siguiente
se actualiza con el pedido de la inserción anterior.

Alguien sabe como puedo hacerlo?

Saludos,

Alvaro
znôrt
2004-02-03 15:08:10 UTC
Permalink
Post by Alvaro
Hola a todos,
Tengo un problema que no soy capaz de resolver. Tengo un IU que
principalmente abre Marcos en donde hay tablas que muestran las
propiedades de mis datos persistentes (estoy usando una base de datos
orientada a objetos - FastObjects JDO, pero eso no es lo importante).
En estos marcos tengo botones que me permiten insertar un nuevo
pedido, por ejemplo, o modificar el registro seleccionado en la tabla.
Cuando pulso el botón insertar se abre un Dialog para insertar el
<OT>
Me choca que digas IU (me ha costao entenderlo, eh? :D) y "Marcos", y
en cambio luego abras un "Dialog". :-)
</OT>
Post by Alvaro
pedido. El pedido es un objeto y la insercción la realizo
correctamente en la base de datos. El problema es cuando quiero
actualizar la tabla del Marco sobre el que se abrió el Dialogo. He
myTableModel.fireTableDataChange()
Alguien sabe como puedo hacerlo?
Esa es la manera. Ese método notifica a la JTable que los datos han
cambiado, y la tabla solicitará obedientemente los datos al model,
mediante las correspondientes llamadas a getValueAt(row, col). Eso
funciona. Si tu tabla no se entera de los nuevos datos, habría que ver
cómo montas tu TableModel, que algo estará pasando ahí.

saludos
znôrt

Loading...