Tengo una primer tabla con algunos datos como los siguientes:
Nombre| Apellido
Diego | Lopez
Maria | Martinez
Ivon | Hernandez
Diego | Fernandez
Diego | Rodriguez
Tras ello en un Campo de texto ingreso una busqueda "Diego", y se realiza el filtro de los datos, posteriormente esos datos lo envio a una segunda tabla donde solo aparecen:
Diego | Lopez
Diego | Fernandez
Diego | Rodriguez
Ahora el problema es que quiero borrar de la primera tabla todas las filas que correspondan a alguien con nombre "diego", y bueno les comento que en parte lo he conseguido pero solo me elimina a 2 con ese nombre y me sigue dejando a 1:
el código para filtrar es el siguiente:
Código Java:
Ver original
public void filtro() { Filtro.setRowFilter(RowFilter.regexFilter(busca.getText(), 0)); }
El cual lo solicito desde el Campo de texto de busqueda:
Código Java:
Ver original
busca.setText(cadena); repaint(); filtro(); } }); Filtro = new TableRowSorter(tabla1.getModel()); tabla1.setRowSorter(Filtro);
Una vez realizada la busqueda traspaso los datos a la segunda tabla con el siguiente codigo:
Código Java:
Ver original
for (int i = 0; i < modelo1.getRowCount(); i++) { for(int c = 0; c < modelo1.getColumnCount(); c++){ if (modelo1.getValueAt(i, c).equals(busca.getText())) { } } } borrarFilasCon(busca.getText());// este metodo es con el que trato de borrar las filas con el valor que se esta buscando
El metodo que uso para borra es este:
Código Java:
Ver original
Model1 es un DefaultTableModel;
Y bueno no encuentro como solucionarlo, mi problema es que al eliminar la primera fila con nombre Diego disminuye el numero de filas y ya no corresponden a lo que se eliminaria en un inicio pues las posiciones cambian...
Quedando asi:
Maria | Martinez
Ivon | Hernandez
Diego | Rodriguez
Espero puedan ayudarme y enverdad muchas gracias por prestarme de su atención