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

Datos en jTable

Estas en el tema de Datos en jTable en el foro de Java en Foros del Web. Compañeros, estoy tratando de poner datos de una base de datos en un jTable, el problema es que el NetBeans me genera el modelo cuando ...
  #1 (permalink)  
Antiguo 16/03/2010, 15:04
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Datos en jTable

Compañeros, estoy tratando de poner datos de una base de datos en un jTable, el problema es que el NetBeans me genera el modelo cuando se define la jTable, es decir:

jTable tabla = new jTable(new Default....

Por consiguiente cuando hago el:

while(resultado.next()){...

En esa parte quiero guardar lo de la base de datos, pero no he podido agregar las filas en la tabla, por favor colaborenme con esto. Gracias
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #2 (permalink)  
Antiguo 16/03/2010, 19:42
 
Fecha de Ingreso: marzo-2009
Ubicación: Santa Marta
Mensajes: 73
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Datos en jTable

bueno para añadir datos en un JTable.. es mas o menos trivial
esta clase cuenta con un metodo que se llama setValueAt (Object valor, int row, int col)
en esta pagina explican bn todo acerca del JTable...

http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

espero te sirva mi ayuda...!!
  #3 (permalink)  
Antiguo 16/03/2010, 23:02
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Datos en jTable

Bueno pues hice una clase de mi propio modelo, mañana posteo como quedó, graicas igual.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #4 (permalink)  
Antiguo 17/03/2010, 12:00
 
Fecha de Ingreso: marzo-2010
Mensajes: 3
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Datos en jTable

Mira este es un ejemplo de lo que yo hago:

Código:
    public void cargarEmpleados(int id_equipo) throws SQLException
    {
        Object y [] = new Object[9];
        ResultSet C = ControlAcceso.ejecutarSqlSelect("SELECT nombre_empleado, experiencia_empleado , pagoHora_empleado FROM empleado e WHERE idEquipo_empleado = "+ id_equipo +" AND estatus_empleado IN('ACTIVO', 'REINGRESO');");
        while (C.next())
        {
            y[0] = C.getString("nombre_empleado"); //nombre
            y[1] = C.getDouble("experiencia_empleado") * 100; //experiencia
            y[2] = 45;//horas trabajadas
            y[3] = 0;//importe
            y[4] = C.getDouble("pagoHora_empleado");//pagoPorHora
            y[5] = 0;//HorasExtra
            y[6] = false;//trabajoExtra
            y[7] = 0;//PercepcionExtre
            y[8] = 0;//total
            this.insertarRegistroEmpleado(y);
        }
    }

En esta tabla se requieren llenar 9 columnas con los datos asignados de un Resultset y otros asignados manualmente le metodo que inserta los datos es el siguiente:


Código:
    public void insertarRegistroEmpleado(Object rec[])
    {
        DefaultTableModel model = (DefaultTableModel)this.jtb_empleados.getModel();
        //jtb_empleados es la tabla que inicializas o creas desde el editor de interfaces
        model.addRow(rec);
    }
Esta bueno por que lo puedes usar para el tipo y tamaño de tablas que nesesites solo falta poner el numero de columnas y asignar de una buena manera lo que contendran las diferentes filas.

Espero haber ayudado.
  #5 (permalink)  
Antiguo 17/03/2010, 12:44
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Datos en jTable

Lo que hice fue, primero que todo (de lo generado por netbeans mezclado con la documentacion de chuidiang), lo primero es hacer mi propio modelo:

Código java:
Ver original
  1. DefaultTableModel MyModel = new javax.swing.table.DefaultTableModel(
  2.   new Object [][]{
  3.    
  4.   }
  5.   new String [] {
  6.     "Columna 1", "Columna 2", "Columna n"
  7.   }
  8. ) {
  9.   Class [] types = new Class [] {
  10.     java.lang.String.class, java.lang.int.class, java.lang.Object.class
  11.   };
  12.   boolean [] canEdit = new boolean [] {
  13.     false, false, true
  14.   };
  15.  
  16.   public class getColumnClass (int columnIndex) {
  17.     return types [columnIndex];
  18.   }
  19.   public class isCellEditable (int rowIndex, int columnIndex) {
  20.     return canEdit [columnIndex];
  21.   }
  22. };

Con esto ya cuando cree mi tabla, le puedo enviar el modelo que corresponde:

Código java:
Ver original
  1. myTable.setModel(MyModel);

Y luego, cuando quiero llenar la tabla, en mi caso, primero borro el contenido de EL MODELO, OJO! nada de la tabla, sino del modelo:


Código java:
Ver original
  1. while(MyModel.getRowCount()>0)
  2.   MyModel.removeRow(0);
  3.  
  4. /*Luego lo lleno segun la consulta que traigo de la base de datos*/
  5.  
  6. while(resultado.next()){
  7.   Object [] fila = new Object[18];//traigo 18 campos de la consulta
  8.   for(int i=0;i<18;i++){
  9.     fila[i] = resultado.getObject(i+1);
  10.   }
  11.   MyModel.addRow(fila);
  12. }


Y así fué como pasó todo.

Gracias los que respondieron, se les lleva en la buena.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175

Etiquetas: jtable, modelo
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 07:43.