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

Como Asignar mas Filas a Una Tabla?

Estas en el tema de Como Asignar mas Filas a Una Tabla? en el foro de Java en Foros del Web. Amigos tengo este inconveniente no se que estoy haciendo mal aqui les eXplico lo que estoy haciendo Código: public void calcular(String estacion,String elemento,String mes,int anoInicio,int ...
  #1 (permalink)  
Antiguo 06/07/2010, 15:58
Avatar de HaroldV  
Fecha de Ingreso: enero-2010
Ubicación: Maracaibo
Mensajes: 100
Antigüedad: 14 años, 3 meses
Puntos: 3
Como Asignar mas Filas a Una Tabla? SOLUCIONADO =) xD

Amigos tengo este inconveniente no se que estoy haciendo mal aqui les eXplico lo que estoy haciendo


Código:
public void calcular(String estacion,String elemento,String mes,int anoInicio,int anoFin,JTable tablaDiarios){


        int dia=01;
        String cad="";
        int year=0;
        int i=0;       
        DefaultTableModel modelo = new DefaultTableModel();
        tablaDiarios = new JTable(modelo);
        Object[] rowDatab = new Object[33]; 33 SON LAS COLUMNAS QUE TENGO

        try {

              conectar();

              for (year=anoInicio; year<=anoFin ; year++,i++){

                  int j=2;

                 modelo.addRow(rowDatab);  AQUI ESTOY TRATANDO DE QUE AL MOMENTO DE ENTRAR ME GENERE OTRA FILA PERO NO LO HACE QUE ESTARE HACIENDO MAL ?
 

                 tablaDiarios.setValueAt(year, i, 0);
                      
                  for(dia=01;dia<=31;dia++,j++){

                            String fechaCompleta = year+"/"+mes+"/"+dia;

                            query2 ="Select Max(greatest(hora0030,hora0130,hora0230,hora0330,hora0430,hora0530,hora0630,hora0730," +
                                    "hora0830,hora0930,hora1030,hora1130,hora1230,hora1330,hora1430,hora1530," +
                                    "hora1630,hora1730,hora1830,hora1930,hora2030,hora2130,hora2230,hora2330)) As ValorMax FROM"+" "+elemento+" WHERE fecha= ?";

                            pst = conex.prepareStatement(query2);
                            pst.setString(1, fechaCompleta);
                            rst = pst.executeQuery();
                            rst.next();
                            cad = rst.getString("ValorMax");
                            System.out.println(cad);
                            System.out.println(fechaCompleta);                            
                            tablaDiarios.setValueAt(cad, i, j);                                              
                  
                    }

               
              }

        } catch (SQLException ex) {

            System.err.println("OOOOOOOOOOOOOoooooooooooooo= "+ex);
        }
        finally{

            desconectar();
        }
    }
al momento de hacer click en el boton estoy llamando a esta funcion que esta ubicada en una clase aparte en donde de una realizo la conexion de la BD pero eso no tiene nada que ver el Inconveniente es que no me agrega la Fila que quiero agregar cada vez que entre en el Primer FOR Ayudenme porfavor =)

Última edición por HaroldV; 09/07/2010 a las 16:11
  #2 (permalink)  
Antiguo 06/07/2010, 19:54
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: Como Asignar mas Filas a Una Tabla?

Esto no te agrega 33 filas (por si es eso lo que pensás que estás haciendo) a tu modelo ni a la JTable, sinó UNA FILA (un Object[] de 33 posiciones), el cual podés obtener haciendo modelo.getValueAt(row, column); y estarías recuperando a rowDatab
modelo.addRow(rowDatab);

PD.: Tampoco veo que estés agregando columnas al modelo modelo.addColumn("nombreDelHeader");

Después vas a tener java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
por culpa de esto ----> tablaDiarios.setValueAt(year, i, 0);
y varios horrores... digo errores mas

Última edición por FiruzzZ; 06/07/2010 a las 20:06
  #3 (permalink)  
Antiguo 07/07/2010, 08:09
Avatar de HaroldV  
Fecha de Ingreso: enero-2010
Ubicación: Maracaibo
Mensajes: 100
Antigüedad: 14 años, 3 meses
Puntos: 3
Respuesta: Como Asignar mas Filas a Una Tabla?

Cita:
Iniciado por FiruzzZ Ver Mensaje
Esto no te agrega 33 filas (por si es eso lo que pensás que estás haciendo) a tu modelo ni a la JTable, sinó UNA FILA (un Object[] de 33 posiciones), el cual podés obtener haciendo modelo.getValueAt(row, column); y estarías recuperando a rowDatab
modelo.addRow(rowDatab);

PD.: Tampoco veo que estés agregando columnas al modelo modelo.addColumn("nombreDelHeader");

Después vas a tener java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
por culpa de esto ----> tablaDiarios.setValueAt(year, i, 0);
y varios horrores... digo errores mas
pero es que usando el netbeans agrego el Jtable y de una Agrego las COlumnas desde sus propiedades, pero tambien me pide agregar las filas y es lo que no quiero, ya que quiero que se vayan generenado al momento de q voy entrando al primer FOR
  #4 (permalink)  
Antiguo 07/07/2010, 10:35
 
Fecha de Ingreso: marzo-2008
Mensajes: 99
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Como Asignar mas Filas a Una Tabla?

Fijate si te sirve esto

http://luauf.com/2008/04/23/resultset-jtable/
  #5 (permalink)  
Antiguo 07/07/2010, 21:32
Avatar de erickxls  
Fecha de Ingreso: julio-2009
Ubicación: Lima
Mensajes: 78
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: Como Asignar mas Filas a Una Tabla?

trabaja mejor con un defaultTableModel asi puedes agregar las filas que quieras
  #6 (permalink)  
Antiguo 08/07/2010, 02:25
 
Fecha de Ingreso: julio-2010
Mensajes: 104
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: Como Asignar mas Filas a Una Tabla?

Buenos días,

1.Instacia el tablemodel
Código:
private DefaultTableModel modeloTabla = new DefaultTableModel();
2. Añade las columnas
Código:
modeloTabla.addColumn("Nombre de la columna".);
3. Carga los datos en tu modelo:
Código:
Object[] fila = new Object[xx];
Código:
for (int i = 0; i < xx; i++) {
      fila[i] = tusDatos.get(i);
}
Código:
modeloTabla.addRow(fila);
4. Asigna el model a tu tabla:
Código:
tuTabla.setModel(modeloTabla);
Un saludo y buen día.

Última edición por ioel10; 08/07/2010 a las 03:39 Razón: Se me olvidó escribir una parte del código.
  #7 (permalink)  
Antiguo 08/07/2010, 05:37
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: Como Asignar mas Filas a Una Tabla?

Cita:
Iniciado por erickxls Ver Mensaje
trabaja mejor con un defaultTableModel asi puedes agregar las filas que quieras
Ya está usando una DefaultTableModel.. fijate su código..


Cita:
Iniciado por HaroldV Ver Mensaje
pero es que usando el netbeans agrego el Jtable y de una Agrego las COlumnas desde sus propiedades..
Con esto estás REMPLAZANDO el modelo que creaste desde el IDE
DefaultTableModel modelo = new DefaultTableModel();
tablaDiarios = new JTable(modelo);

No solo estás perdiendo el modelo, sinó la JTable también, porque estás reInicializando AMBAS COSAS, ¿para qué volvés a inicializar la tablaDiarios?

en todo caso hace esto.
modelo = tablaDiarios.getModel(); // capaz tengas que castear
  #8 (permalink)  
Antiguo 09/07/2010, 16:11
Avatar de HaroldV  
Fecha de Ingreso: enero-2010
Ubicación: Maracaibo
Mensajes: 100
Antigüedad: 14 años, 3 meses
Puntos: 3
Respuesta: Como Asignar mas Filas a Una Tabla?

Cita:
Iniciado por FiruzzZ Ver Mensaje
Ya está usando una DefaultTableModel.. fijate su código..



Con esto estás REMPLAZANDO el modelo que creaste desde el IDE
DefaultTableModel modelo = new DefaultTableModel();
tablaDiarios = new JTable(modelo);

No solo estás perdiendo el modelo, sinó la JTable también, porque estás reInicializando AMBAS COSAS, ¿para qué volvés a inicializar la tablaDiarios?

en todo caso hace esto.
modelo = tablaDiarios.getModel(); // capaz tengas que castear
Amigo Muchas Gracias Segui tu COnsejo Aqui muesstro como lo Hice =)
Código:
Object[] fila = new Object[33];
        modelo = (DefaultTableModel) tablaDiarios.getModel();

y dentro del for anexo esto 

 for (year=anoInicio; year<=anoFin ; year++,i++){

                  int j=2;
                  
                  modelo.addRow(fila);
y me lo hace perfecto =)

Etiquetas: asignar, filas, mas, tablas
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:16.