Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Ayuda borrar filas seleccionadas de un jtable

Hola buenas necesito borrar unas filas que selecciono de un jtable, pero solo me borra la primera fila aca les dejo el codigo ojala me puedan ayudar.

DefaultTableModel modelo = (DefaultTableModel) tablaventa.getModel();
int[] row = tablaventa.getSelectedRows();
for(int i =0; i<row.length; i++){
String id = (String) tablaventa.getValueAt(row[i], 0);
String n = (String) tablaventa.getValueAt(row[i], 1);
String p = (String) tablaventa.getValueAt(row[i], 2);
int c = (int) tablaventa.getValueAt(row[i], 3);
int d = (int) tablaventa.getValueAt(row[i], 4);
int ds = (int) tablaventa.getValueAt(row[i], 5);
int sb = (int) tablaventa.getValueAt(row[i], 6);
String sql= "insert into agrupados(id_venta, fecha, codigo,nombre, cantidad,precio,porcentaje,descuento,subtotal)"
+"values('"+idb+"','"+f+"','"+id+"','"+n+"','"+c+"','"+p+"','"+ds+"','"+d+"', '"+sb+"')";
rs = st.executeUpdate(sql);
JOptionPane.showMessageDialog(this, "'"+row[i]+"'");
modelo.removeRow(row[i]);

el error es del tipo java.lang.ArrayIndexOutOfBoundsException: se que estoy acciendo al un lugar del arreglo que no esta, pero no se como solucionarlo tambien probe con row.length -1 tampoco funciono

Gracias por su ayuda

septiembre 16, 2015 | Unregistered Commenterdiegosep26

El error proviene de aquí
tablaventa.getValueAt;//el metodo getValueAt, no de row[i],

verifica el numero de indices, que le envías a getValueAt. si los indices de columnas están bien, puede que el tablaventa.getSelectedRows(), te este enviando numero de filas que no existen, usa un debugguer para ver el flujo del programa y así no te haces tantas bolas.

saludos.

septiembre 21, 2015 | Unregistered Commenterjhosep