JTable... como agregar filas en tiempo de ejecucion

Iniciado por Lu15_CL4, 18 Abril 2008, 04:50 AM

0 Miembros y 1 Visitante están viendo este tema.

Lu15_CL4

como agregar filas en tiempo de ejecucion??, trae una funcion para las columnas ej:

JTable tabla=new JTable(modelo);
tabla.addColumn(una columna);

pero no trae ninguna para filas!, la idea es teclear algo en una fila luego dar enter y si estoy en la ultima fila dela tabla que se cree una nueva fila para insertar datos.

hace mucho haciendo un proyecto de la escuela(un compilador =o, mostrar la tabla de simbolos, =O) tuve la misma duda y no la solucione lo que hize fue dejar la tabla con las filas que le predefinia el modelo, pero usando filas de mas(reserve 500...), eso no me gusto... plx help
Te regalo .1 centavo de dolar diario, registrate aqui, pideme + info por PM ^^, el .1 centavo puede ir creciendo hasta el infinito!!! :xD ^^

sapito169

deseguro estabas buscando addFila pero todo eso es en ingles
"fila=row"

tablitalol.addRow(); :laugh: :laugh: :laugh: :laugh:

Lu15_CL4

si sabia que row es fila..., pero eso que pusiste no funciona, lo mas parecido a eso que aparece es addRowSelectionInterval(intervalo)

U_u
Te regalo .1 centavo de dolar diario, registrate aqui, pideme + info por PM ^^, el .1 centavo puede ir creciendo hasta el infinito!!! :xD ^^

Sk9ITk5Z

Puedes hacerle de esat forma:
while (resultado.next())
               {
                 
                 Object [] fila = new Object[columnNum];
                 for (int i=0;i<3;i++){
                      fila = resultado.getObject(i+1);
                      modelo.addRow(fila);
                 }
           }

Si tiens duda comentala....
Este es un pueblo de corazón extraviado, no quiere conocer mis caminos por eso no entraran en mi descanso.

Lu15_CL4

Cita de: HOFF en 16 Mayo 2008, 21:34 PM
Puedes hacerle de esat forma:
while (resultado.next())
               {
                 
                 Object [] fila = new Object[columnNum];
                 for (int i=0;i<3;i++){
                      fila = resultado.getObject(i+1);
                      modelo.addRow(fila);
                 }
           }

Si tiens duda comentala....

jeje, ps como pusiste "resultado.next()" supongo que sabes lo que ando asiendo ^^, el problema que tengo es que esa linea que puse en negritas no me funciona, esto es pork la funcion "addRow()" no me sale en la lista de metodos del modelo ni del JTable..
lo solucione asi:


        Object[][] m=new Object[Tabla.getRowCount()+1][Tabla.getColumnCount()];
        for(int i=0;i<Tabla.getColumnCount();i++)
            for(int j=0;j<Tabla.getRowCount();j++)
                m[j][i]=Tabla.getValueAt(j, i);
        Tabla.setModel(new DefaultTableModel(m,new String[]{"columna_1", "columna_2"}));


la parte de llenarlo (que es lo que hace tu codigo ^^) asi:

ResultSet r = stat.executeQuery("select * from Tabla");
    r.last();
    Object[][] m=new Object[r.getRow()][2];
    int i=0;
    r.first();
    while(r.next()){
        m[i][0]=r.getObject("columna_1");
        m[i][1]=r.getObject("columna_2");
        i++;
    }
    Tabla.setModel(new DefaultTableModel(m,new String[]{"columna_1", "columna_2"}));
   
}


gracias! ^^
Te regalo .1 centavo de dolar diario, registrate aqui, pideme + info por PM ^^, el .1 centavo puede ir creciendo hasta el infinito!!! :xD ^^

Sk9ITk5Z

Yo tenia el mismo problema que tu pero mejor le cambie el jTExt Area apr imprimir lso datos y me funciono bien, lo unico que si tienes que hacer es que Debes ordenar bien a la hora de imprimir los datos... te dejo el codigo par que lo analices...Nota: no te confundas con el swith yo lo utilize por que tengo 3 tablas en mi bd y lo puse para saber cual estoy accesando...
for (int i = 0; i < numeroColumnas; i++)
              {
                 // Nuevamente, para ResultSetMetaData la primera columna es la 1.
                 etiquetas = metaDatos.getColumnLabel(i + 1);
               }     
        //*****************METERLE LO  DATOS*********************************
            for(int t=0;t<numeroColumnas;t++){
              jTextArea1.setText(jTextArea1.getText() + etiquetas[t].toString() + "              ");
            }
           jTextArea1.setText(jTextArea1.getText() +'\n');
     switch (selecciono)  {
     
     
   
    case 1: 
          while (resultado.next()) {
                    String s = resultado.getString(etiquetas[0].toString());
                    String g = resultado.getString(etiquetas[1].toString());
                    String j = resultado.getString(etiquetas[2].toString());
                    jTextArea1.setText( jTextArea1.getText() + s + "                              " + g + "                    " + j + '\n' );
                  }
         break;
    case 2:     
          while (resultado.next()) {
                    String s = resultado.getString(etiquetas[0].toString());
                    String g = resultado.getString(etiquetas[1].toString());
                    int j = resultado.getInt(etiquetas[2].toString());
                    int e = resultado.getInt(etiquetas[3].toString());
                    String o = resultado.getString(etiquetas[4].toString());
                    jTextArea1.setText( jTextArea1.getText() + s + "               " + g + "                                         " + j + "                          "+ e + "                      " + o + '\n' );
                  }
         break;
      case 3:     
           while (resultado.next()) {
                    String s = resultado.getString(etiquetas[0].toString());
                    String g = resultado.getString(etiquetas[1].toString());
                    int j = resultado.getInt(etiquetas[2].toString());
                    jTextArea1.setText( jTextArea1.getText() + s + "                             " + g + "                      " + j +'\n' );
                  }
        break;   
Este es un pueblo de corazón extraviado, no quiere conocer mis caminos por eso no entraran en mi descanso.

Lu15_CL4

O_Ok!
pero creo que seria un reverendo desmadre sacar un dato de eso xD, mejor me quedo con las tablas  ;)

cya!
Te regalo .1 centavo de dolar diario, registrate aqui, pideme + info por PM ^^, el .1 centavo puede ir creciendo hasta el infinito!!! :xD ^^