Foros del Web » Programación para mayores de 30 ;) » Java »

Actualizar JTable

Estas en el tema de Actualizar JTable en el foro de Java en Foros del Web. Bueno mi problema es el siguiente.. tengo un sistema de ventas. Y tengo un problema, necesito que al vender un articulo.. baje el stock depende ...
  #1 (permalink)  
Antiguo 23/07/2009, 22:05
 
Fecha de Ingreso: febrero-2007
Mensajes: 141
Antigüedad: 17 años, 2 meses
Puntos: 1
Pregunta Actualizar JTable

Bueno mi problema es el siguiente.. tengo un sistema de ventas. Y tengo un problema, necesito que al vender un articulo.. baje el stock depende la cantidad que se haya vendido. Ya pude hacer que actualice en la DB.. pero no puedo hacerlo en la JTable, por lo tanto, para que se actualice el stock despues de vender un articulo tengo que cerrar y abrir el programa.

Les dejo unas imagenes asi se orientan mejor:

Este es el frame de ventas:

http://img338.imageshack.us/img338/4290/46291585.jpg

Ahi pueden ver que tiene la cantidad..

Y aca esta el frame que contiene los articulos:

http://img266.imageshack.us/img266/4621/72124151.jpg

Ahi pueden ver la columna STOCK.. esa es la que necesito que baje X cantidad cuando se vende X cantidad de X articulos.
  #2 (permalink)  
Antiguo 23/07/2009, 23:33
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Actualizar JTable

Hola:

Usa el JTable con un DefaultTableModel. Cuando hagas cambios en la BD, hazlos también en el DefaultTableModel, así automáticamente se refrescará el JTable.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 24/07/2009, 14:41
 
Fecha de Ingreso: febrero-2007
Mensajes: 141
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Actualizar JTable

Claro, eso lo hago con insertrow o removerow etc.. pero estoy ante un problema que no se como solucionarlo.

Estoy haciendo un sistema de ventas, y necesito que cuando venda un articulo, baje la cantidad que se vendio, esa cantidad esta en un jtable. Yo pude hacer que actualice la DB pero no se como hace para que actualice el Jtable ya que no se como indicarle en cual articulo ( fila ) tiene que baja la cantidad de stock. Espero que hayas entendido, sino trato de explicartelo mejor. Gracias por la respuesta.
  #4 (permalink)  
Antiguo 24/07/2009, 14:45
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Actualizar JTable

Hola:

Pues tienes que buscar el artículo en el DefaultTableModel. Un bucle y un getValueAt() para buscar aquella celda que te sirva de clave del artículo.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 24/07/2009, 14:53
 
Fecha de Ingreso: febrero-2007
Mensajes: 141
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Actualizar JTable

pero en el getValueAt solo se ponen el numero de fila y columna.. No puedo poner el nombre del articulo. o si? Disculpa mi ignoracia.. soy algo nuevo en esto
  #6 (permalink)  
Antiguo 24/07/2009, 15:04
 
Fecha de Ingreso: febrero-2007
Mensajes: 141
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Actualizar JTable

Porfavor ayudame en esto que es lo ultimo que me falta y me esta volviendo loco...

Podrias explicarme lo del bucle y el getValueAt para buscar determinado articulo que contenga X codigo o X nombre?

Porfavor respondeme, gracias.
  #7 (permalink)  
Antiguo 24/07/2009, 17:15
 
Fecha de Ingreso: febrero-2007
Mensajes: 141
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Actualizar JTable

porfavor, respodeme que no puedo solucionar esto.
  #8 (permalink)  
Antiguo 24/07/2009, 17:40
 
Fecha de Ingreso: enero-2009
Ubicación: Morelia Mich
Mensajes: 40
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Actualizar JTable

Um te recomiendo hacer un método par generar el refresh, después de la actualización, recargar la tabla, borras toda la tabla y despues vuelves a cargarla, quiza no es muy elegante pero funciona, la forma mas facil es borrar toda la tabla hasta q este vacia y despues volver a cargarle los campos de la bd con addrow, puedes jalar los valoes especificos con getValueAt en lapocicion indicada , pero ten en cuenta q ahi tendiras q usar un método para obtener la posision indicada, o si quieres hacerlo sencible al q esta seleccionado teng¡dras q usar un mause listener.

Mi recomendacion es q recargues la tabla de la bd en el j table.
  #9 (permalink)  
Antiguo 24/07/2009, 17:49
 
Fecha de Ingreso: febrero-2007
Mensajes: 141
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Actualizar JTable

Si, yo tuve exactamente la misma idea.. borrar y volver a cargar todo ya actualizado.. pero no se como cargar denuevo los datos.. mediante addrow? :S si puedes ayudarme con algo de codigo capaz me oriento mejor. gracias.

Es decir, hago un
scrollpanearticulos.removeAll(); ?
o tengo que hacer un remove en la defaulttablemodel ?

y dps para agregar los datos nuevamente..

dtmarticulos.addRow.... y como sigo?

Última edición por chnn'; 24/07/2009 a las 17:59
  #10 (permalink)  
Antiguo 24/07/2009, 21:52
 
Fecha de Ingreso: febrero-2007
Mensajes: 141
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Actualizar JTable

Alguien sabe como? :S
  #11 (permalink)  
Antiguo 25/07/2009, 00:08
Avatar de Walala  
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Actualizar JTable

se supone que se deveria ocupar fireTableCellUpdated(int row, int column) en el AbstractTableModel, el cual no lo supe usar.

yo logre actualizar las tablas usando un hilo en el frame que cada 10 seg me eliminara la tabla y luego la cargara. Utilizando AbstractTableModel.
  #12 (permalink)  
Antiguo 25/07/2009, 18:09
 
Fecha de Ingreso: febrero-2007
Mensajes: 141
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Actualizar JTable

me podrias explicar un poco el codigo ? ya que yo uso DefaultTableModel y tengo que estar poniendo insertrow o deleterow despues de cada consultas de sql, eso que decis vos me ahorraria muchisimo trabajo. Gracias

Última edición por chnn'; 25/07/2009 a las 18:14
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:07.