limpiar jtable
buenas tardes a todos
estoy tratando de limpiar un jtable, despues de borrar los registros cuando intento agregarlos nuevamente tengo problemas. he intentado con varias maneras entre ellas:
public void limpiarTabla(){
try {
DefaultTableModel modelo=(DefaultTableModel) tblCesta.getModel();
int filas=tblCesta.getRowCount();
for (int i = 0;i<=filas; i++) {
modelo.removeRow(0);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Error al limpiar la tabla.");
}
}
void limpiartabla(){
int a =modelo.getRowCount()-1;
System.out.println(a);
for(int i=a; i>=0; i--){
System.out.println(i);
modelo.removeRow(i );
}
}
en esta estoy actualmente.....
public void limpiarTabla(){
try {
int b =0;
DefaultTableModel modelo=(DefaultTableModel) tblCesta.getModel();
int filas=tblCesta.getRowCount();
System.out.println("filas"+filas);
for (int i = 0;i<=filas; i++) {
b = tblCesta.getRowCount();
System.out.println("i"+i);
System.out.println("ba"+b);
modelo.removeRow(i);
System.out.println("bd"+b);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Error al limpiar la tabla.");
}
}
ninguna me ha funcionado como esperaba, en esta ultima por ejemplo si hay un registro en la tabla me lo borra, pero cuando voy a llenar nuevamente la tabla, me sale:
filas1
i0
ba1
bd1
i1
ba0
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 1 >= 1
at java.util.Vector.elementAt(Vector.java:470)
at javax.swing.table.DefaultTableModel.setValueAt(DefaultTableModel.java:665)
at sertlav.FrmFacturacion.CargarTablaCesta(FrmFacturacion.java:173)
at sertlav.FrmFacturacion.BotonAgregarActionPerformed(FrmFacturacion.java:874)
at sertlav.FrmFacturacion.access$200(FrmFacturacion.java:22)
at sertlav.FrmFacturacion$3.actionPerformed(FrmFacturacion.java:529)......
en este caso la linea 173 esta dentro del método de llenado de la tabla
void CargarTablaCesta(String nombre, String clase, String cantidad, String costo){
modelo= (DefaultTableModel)this.tblCesta.getModel();
modelo.addRow(new Object[filas]);
for (int x=0; x= 4
at java.util.Vector.elementAt(Vector.java:470)
at javax.swing.table.DefaultTableModel.setValueAt(DefaultTableModel.java:665)
at sertlav.FrmFacturacion.CargarTablaCesta(FrmFacturacion.java:173)
at sertlav.FrmFacturacion.BotonAgregarActionPerformed(FrmFacturacion.java:874)
at sertlav.FrmFacturacion.access$200(FrmFacturacion.java:22)
at sertlav.FrmFacturacion$3.actionPerformed(FrmFacturacion.java:529)
y ese error sale por cada registro que elimine y que ahora intento agregar
muchas gracias por su ayuda
- Inicie sesión o regístrese para enviar comentarios
Checa con esto
Pues dices que quieres limpiar un jtable.., luego dices que la vuelves a intentar y te da problemas..
tengo este pequeño código que utilice para limpiar una jtable que simulaba que terminaba la venta de x cosas..
DefaultTableModel tb = (DefaultTableModel) Jtable.getModel();
int a = JtablegetRowCount()-1;
for (int i = a; i >= 0; i--) {
tb.removeRow(tb.getRowCount()-1);
}
//cargaTicket();
}
Checa espero que te sirva...
Con swing, yo lo único que
Con swing, yo lo único que hacía era poner el row count a cero en el modelo y ya: