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
deseguro estabas buscando addFila pero todo eso es en ingles
"fila=row"
tablitalol.addRow(); :laugh: :laugh: :laugh: :laugh:
si sabia que row es fila..., pero eso que pusiste no funciona, lo mas parecido a eso que aparece es addRowSelectionInterval(intervalo)
U_u
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....
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! ^^
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;
O_Ok!
pero creo que seria un reverendo desmadre sacar un dato de eso xD, mejor me quedo con las tablas ;)
cya!