eliminar filas de un Jtable
Hola amigos, bueno mi problema es el siguiente:
tengo un combobox y un jtable(use un AbstractTableModel para la tabla); bueno cuando elijo una opcion del combo y quiero que la tabla se actualize; es decir por ejemplo elijo opcion 'A' y la tabla me muestra dos filas y despues elijo la opocion 'B' del combo y deberia elminar las anteriores filas de la tabla y pintar otras, pero se agrega la primera fila de la opcion 'A' a las de la opocion 'B'
este es el codigo para borrar las filas
for(int i=0;i<tabla.getRowCount();i++)
{
tabla.removeRow(i)
}
esta es la clase modelo
public class TablaConsultarCurso extends AbstractTableModel{
ArrayList datos = new ArrayList();
Object [] columnas = {"Cod.Curso","Seccion","Nombre Curso", "Apellidos Docente", "Nombre Docente"};
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class,java.lang.String.class,
java.lang.String.class, java.lang.String.class};
/** Creates a new instance of SimpleTableModel */
public TablaConsultarCurso() {
}
public int getRowCount() { return datos.size(); }
.....................
public void removeRow(int fila) {
datos.remove(fila);
fireTableDataChanged();
}
public ArrayList getDatos() {
return datos;
}
public void setDatos(ArrayList datos) {
this.datos = datos;
}
}
nose por q sucede eso, ojala me puedan ayudar
tengo un combobox y un jtable(use un AbstractTableModel para la tabla); bueno cuando elijo una opcion del combo y quiero que la tabla se actualize; es decir por ejemplo elijo opcion 'A' y la tabla me muestra dos filas y despues elijo la opocion 'B' del combo y deberia elminar las anteriores filas de la tabla y pintar otras, pero se agrega la primera fila de la opcion 'A' a las de la opocion 'B'
este es el codigo para borrar las filas
for(int i=0;i<tabla.getRowCount();i++)
{
tabla.removeRow(i)
}
esta es la clase modelo
public class TablaConsultarCurso extends AbstractTableModel{
ArrayList datos = new ArrayList();
Object [] columnas = {"Cod.Curso","Seccion","Nombre Curso", "Apellidos Docente", "Nombre Docente"};
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class,java.lang.String.class,
java.lang.String.class, java.lang.String.class};
/** Creates a new instance of SimpleTableModel */
public TablaConsultarCurso() {
}
public int getRowCount() { return datos.size(); }
.....................
public void removeRow(int fila) {
datos.remove(fila);
fireTableDataChanged();
}
public ArrayList getDatos() {
return datos;
}
public void setDatos(ArrayList datos) {
this.datos = datos;
}
}
nose por q sucede eso, ojala me puedan ayudar
Para borrar las filas haz esto:
DefaultTableModel mod = (DefaultTableModel)this.tutabla.getModel();
int num_f = mod.getRowCount()-1;
for(int i=num_f; i>=0; i--) {
mod.removeRow(i);
}
Te recomendaria que en el Action del Combo llamases a una funci贸n que te borre la tabla (metes el c贸digo que te acabo de poner en una funci贸n) y a continuaci贸n llames a otra funci贸n para que te rellene la tabla.
Espero que te sirva, a mi me lo hace correctamente ;)
DefaultTableModel mod = (DefaultTableModel)this.tutabla.getModel();
int num_f = mod.getRowCount()-1;
for(int i=num_f; i>=0; i--) {
mod.removeRow(i);
}
Te recomendaria que en el Action del Combo llamases a una funci贸n que te borre la tabla (metes el c贸digo que te acabo de poner en una funci贸n) y a continuaci贸n llames a otra funci贸n para que te rellene la tabla.
Espero que te sirva, a mi me lo hace correctamente ;)
