La búsqueda de una sola columna me funciona bien.
Quisiera una búsqueda de diferentes columnas.
intento desarrollar y no logro que me funcione.
private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextField1KeyReleased
// Array busqueda
jTextField1.addKeyListener(new KeyAdapter() {
public void keyReleased(final KeyEvent e) {
String cadena = (jTextField1.getText());
jTextField1.setText(cadena);
repaint();
filtro();
}
});
trsFiltro = new TableRowSorter(jTable1.getModel());
jTable1.setRowSorter(trsFiltro);
}//GEN-LAST:event_jTextField1KeyReleased
public void filtro() {
int fse= jTable1.getRowCount();
fse-=1;
// trsFiltro.setRowFilter(RowFilter.regexFilter("(?i)"+jTextField1.getText(), 3));//Esto funciona bien
if(fse>=0){
trsFiltro.setRowFilter(RowFilter.regexFilter("(?i)"+jTextField1.getText(), 3));
System.out.println(3);
}else if(fse<0){
trsFiltro.setRowFilter(RowFilter.regexFilter("(?i)"+jTextField1.getText(), 1));
System.out.println(1);
}else if(fse<0){
trsFiltro.setRowFilter(RowFilter.regexFilter("(?i)"+jTextField1.getText(), 2));
System.out.println(2);
}
}
De la forma que tienes solo se va a aplicar una condicion, es decir solo va a entrar en un if.
Como lo adapto de mysql a java
CONCAT(Nombre, ' ', Apellidos)
trsFiltro.setRowFilter(RowFilter.regexFilter("(?i)"+jTextField1.getText(), 3));//Esto funciona bien