Aumentar una fila al JTable en tiempo de ejecucion
Publicado por Ricardo Garcia (15 intervenciones) el 20/02/2009 00:09:45
Un saludo a todos, tengo un problema que ya me lleva bastante tiempo, el asunto es el siguiente:
Utilizo NetBeans, y necesito aumentar una fila al JTable que muestra mis datos en tiempo de ejecución, pero no he podido encontrar una respuesta adecuada a mi necesidad. Les describo el proceso que estoy siguiendo.
Estoy cargando unos datos desde una base de datos a un Jtable utilizo las siguientes funciones:
public ArrayList HacerConsulta(String CadenaSql){
int campos;
int columnas;
formulario.clear();
Conexion Conex=null;
try{
Conex = new Conexion();
Conex.conectar();
String cadena=CadenaSql;
ResultSetMetaData Datos;
conjuntoResultados = Conex.consultaSQL.executeQuery(cadena);
Datos = conjuntoResultados.getMetaData();
while (conjuntoResultados.next()){
campos = Datos.getColumnCount();
ArrayList x = new ArrayList();
x.clear();
for (columnas=1;columnas<=campos;columnas++){
x.add (conjuntoResultados.getString(columnas).toString());
}
formulario.add(x);
}
}catch(SQLException e){MANEJO DE EXCEPCIONES ETC ETC}
return formulario;
}
Esta funcion me saca lo que quiera de la BD y accedo a esta funcion mediante la siguiente:
public void CargarFormulario(String cadena, JTable vObjeto,int total){
ArrayList x = new ArrayList();
Vector saurio=new Vector();
int i=0;
x.clear();
x = HacerConsulta(cadena);
for(int j = 0;j < x.size(); j++) {
vObjeto.setValueAt(i+1, i, 0);
for (int campos = 1; campos<=total;campos++){
vObjeto.setValueAt(((ArrayList)x.get(j)).get(campos-1).toString(), i, campos);//nombre completo
}
i++;
}
}
Con esta ultima funcion yo cargo directamente el ArrayList que me devuelve la anterior funcion (HacerConsulta) y la coloco al JTABLE, me funciona bien, saca los datos todo perfecto. El problema es que al utilizar NetBeans y crear mis pantallas prediseñadas necesito sacar el numero de registros que devuelve mi consulta.[ x.size() ] y segun este numero dimensionar el numero de filas del JTable ya creado. No quiero crear mi tabla con el: tabla = new JTable();. sino en tiempo de ejecucion, quiero poder modificar el numero de filas.
Porfavor les agradezco de antemano cualquier ayuda o sugerencia.
Utilizo NetBeans, y necesito aumentar una fila al JTable que muestra mis datos en tiempo de ejecución, pero no he podido encontrar una respuesta adecuada a mi necesidad. Les describo el proceso que estoy siguiendo.
Estoy cargando unos datos desde una base de datos a un Jtable utilizo las siguientes funciones:
public ArrayList HacerConsulta(String CadenaSql){
int campos;
int columnas;
formulario.clear();
Conexion Conex=null;
try{
Conex = new Conexion();
Conex.conectar();
String cadena=CadenaSql;
ResultSetMetaData Datos;
conjuntoResultados = Conex.consultaSQL.executeQuery(cadena);
Datos = conjuntoResultados.getMetaData();
while (conjuntoResultados.next()){
campos = Datos.getColumnCount();
ArrayList x = new ArrayList();
x.clear();
for (columnas=1;columnas<=campos;columnas++){
x.add (conjuntoResultados.getString(columnas).toString());
}
formulario.add(x);
}
}catch(SQLException e){MANEJO DE EXCEPCIONES ETC ETC}
return formulario;
}
Esta funcion me saca lo que quiera de la BD y accedo a esta funcion mediante la siguiente:
public void CargarFormulario(String cadena, JTable vObjeto,int total){
ArrayList x = new ArrayList();
Vector saurio=new Vector();
int i=0;
x.clear();
x = HacerConsulta(cadena);
for(int j = 0;j < x.size(); j++) {
vObjeto.setValueAt(i+1, i, 0);
for (int campos = 1; campos<=total;campos++){
vObjeto.setValueAt(((ArrayList)x.get(j)).get(campos-1).toString(), i, campos);//nombre completo
}
i++;
}
}
Con esta ultima funcion yo cargo directamente el ArrayList que me devuelve la anterior funcion (HacerConsulta) y la coloco al JTABLE, me funciona bien, saca los datos todo perfecto. El problema es que al utilizar NetBeans y crear mis pantallas prediseñadas necesito sacar el numero de registros que devuelve mi consulta.[ x.size() ] y segun este numero dimensionar el numero de filas del JTable ya creado. No quiero crear mi tabla con el: tabla = new JTable();. sino en tiempo de ejecucion, quiero poder modificar el numero de filas.
Porfavor les agradezco de antemano cualquier ayuda o sugerencia.
Valora esta pregunta


0