Foro de elhacker.net

Programación => 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
  1. private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextField1KeyReleased
  2.        // Array busqueda
  3.        jTextField1.addKeyListener(new KeyAdapter() {
  4.            public void keyReleased(final KeyEvent e) {
  5.                String cadena = (jTextField1.getText());
  6.                jTextField1.setText(cadena);
  7.                repaint();
  8.                filtro();
  9.            }
  10.        });
  11.        trsFiltro = new TableRowSorter(jTable1.getModel());
  12.        jTable1.setRowSorter(trsFiltro);    
  13.  
  14.    }//GEN-LAST:event_jTextField1KeyReleased
  15.  
  16.    public void filtro() {
  17.        int fse= jTable1.getRowCount();
  18.        fse-=1;
  19.  
  20. //        trsFiltro.setRowFilter(RowFilter.regexFilter("(?i)"+jTextField1.getText(), 3));//Esto funciona bien
  21.  
  22.        if(fse>=0){
  23.            trsFiltro.setRowFilter(RowFilter.regexFilter("(?i)"+jTextField1.getText(), 3));  
  24.            System.out.println(3);
  25.        }else if(fse<0){
  26.            trsFiltro.setRowFilter(RowFilter.regexFilter("(?i)"+jTextField1.getText(), 1));
  27.            System.out.println(1);
  28.        }else if(fse<0){
  29.            trsFiltro.setRowFilter(RowFilter.regexFilter("(?i)"+jTextField1.getText(), 2));
  30.            System.out.println(2);
  31.        }
  32.  
  33.    }
  34.  


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
  1. CONCAT(Nombre, ' ', Apellidos)
  2.  

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