Filtrar datos en Jtable de 3 columnas

Iniciado por soy_nicanor, 7 Octubre 2016, 05:40 AM

0 Miembros y 1 Visitante están viendo este tema.

soy_nicanor

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.

Código (java) [Seleccionar]

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);
        }
       
    }

ReaverZ3r0

De la forma que tienes solo se va a aplicar una condicion, es decir solo va a entrar en un if.

soy_nicanor

Como lo adapto de mysql a java
Código (sql) [Seleccionar]

CONCAT(Nombre, ' ', Apellidos)


Código (java) [Seleccionar]

trsFiltro.setRowFilter(RowFilter.regexFilter("(?i)"+jTextField1.getText(), 3));//Esto funciona bien