Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: soy_nicanor en 7 Octubre 2016, 05:40 AM

Título: Filtrar datos en Jtable de 3 columnas
Publicado por: soy_nicanor en 7 Octubre 2016, 05:40 AM
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);
        }
       
    }
Título: Re: Filtrar datos en Jtable de 3 columnas
Publicado por: ReaverZ3r0 en 7 Octubre 2016, 11:49 AM
De la forma que tienes solo se va a aplicar una condicion, es decir solo va a entrar en un if.
Título: Re: Filtrar datos en Jtable de 3 columnas
Publicado por: soy_nicanor en 8 Octubre 2016, 19:02 PM
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