elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Filtrar resultados de JTable que no sea Case Sensitive (ni mayus, ni minus)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Filtrar resultados de JTable que no sea Case Sensitive (ni mayus, ni minus)  (Leído 6,294 veces)
Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Filtrar resultados de JTable que no sea Case Sensitive (ni mayus, ni minus)
« en: 27 Noviembre 2011, 07:30 am »

Lo que tengo es una tabla que se carga con los registros de una base de datos. Entonces tengo un TextField en el que pongo, por ejemplo, un nombre y va filtrando los resultados automáticamente hasta dar con el nombre correcto si se encuentra en una de las filas de la tabla.

Código
  1. public void changedUpdate(DocumentEvent arg0) {
  2. ordenador.setRowFilter(RowFilter.regexFilter(jtxtfBuscarInv.getText(), 0));
  3.  
  4. }
  5.  
  6. @Override
  7. public void insertUpdate(DocumentEvent arg0) {
  8. ordenador.setRowFilter(RowFilter.regexFilter(jtxtfBuscarInv.getText(), 0));
  9.  
  10. }
  11.  
  12. @Override
  13. public void removeUpdate(DocumentEvent arg0) {
  14. ordenador.setRowFilter(RowFilter.regexFilter(jtxtfBuscarInv.getText(), 0));
  15.  
  16. }

El problema es que es case sensitive. Y si hay un nombre que empiece con mayúsculas y lo escribo en minúsculas, pues ya no funciona.

Sé que en java están los métodos string.toLowerCase y string.toUpperCase. Pero el problema es que entonces quedaría muy antiestético, sería todo minúsculo o todo mayúsculas.

Creo que tal vez el problema es porque primero meto los datos en la tabla y apartir de ahí se filtran. Talvez si ejecuto un query por cada cambio en el textfield no pasará, pero esa forma me parece muy ineficiente....


En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
sapito169


Desconectado Desconectado

Mensajes: 628



Ver Perfil
Re: Filtrar resultados de JTable que no sea Case Sensitive (ni mayus, ni minus)
« Respuesta #1 en: 27 Noviembre 2011, 14:41 pm »

. error  :-\


En línea

Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Re: Filtrar resultados de JTable que no sea Case Sensitive (ni mayus, ni minus)
« Respuesta #2 en: 27 Noviembre 2011, 16:47 pm »

. error  :-\

EH?  :-\
En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Filtrar resultados de JTable que no sea Case Sensitive (ni mayus, ni minus)
« Respuesta #3 en: 27 Noviembre 2011, 19:10 pm »

Código
  1. RowFilter<Object, Object> filter = new RowFilter<Object, Object>() {
  2.      public boolean include(Entry<?, ?> entry) {
  3.            int numberOfColumn=0;//
  4.            String value= String.valueOf(entry.getValue(numberOfColumn));
  5.       return value.equalsIgnoreCase(jtxtfBuscarInv.getText());
  6.        }
  7. };

en el metodo insertUpdate colocas

Código
  1. ordenador.setRowFilter(filter);
« Última modificación: 27 Noviembre 2011, 19:13 pm por Leyer » En línea

Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Re: Filtrar resultados de JTable que no sea Case Sensitive (ni mayus, ni minus)
« Respuesta #4 en: 27 Noviembre 2011, 19:21 pm »

Encontré una forma más sencilla de hacerlo, es:

Código
  1. ordenador.setRowFilter(RowFilter.regexFilter("(?i)"+jtxtfBuscarInv.getText(), 0));
  2.  
Pero entonces ahora el problema son las tildes...

Además no entiendo lo que hiciste Leyer, eso es java avanzado xD.
« Última modificación: 27 Noviembre 2011, 21:58 pm por Aikanáro Anário » En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Filtrar resultados de JTable que no sea Case Sensitive (ni mayus, ni minus)
« Respuesta #5 en: 28 Noviembre 2011, 18:32 pm »

Podrías hacer que lo que escriba el usuario tu lo recojas con getText lo pasas a mayúscula o minúscula como quieras, y los acentos podrías hacer un Jlabel que diga sin acentos, y que al imprimirlo en otro lado lo asemejes con acento...


EJEMPLO


Ingresa Maria
Recojes MARIA y al volver a escribir dices que MARIA = María


Podría ser una solución fácil, pero gastadora de memoria
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿como buscar una cadena de caracteres dentro de otra?(no case sensitive)
Programación C/C++
z_ane_666 1 12,174 Último mensaje 9 Diciembre 2010, 00:46 am
por Beakman
filtrar Texto en un JTable conectado a un BD con un JButton y un JTextField?
Java
hack-4-life 2 8,802 Último mensaje 21 Marzo 2011, 04:35 am
por hack-4-life
Como quitar datos repetidos de excel considerando mayus y minus?
Dudas Generales
.:UND3R:. 0 2,768 Último mensaje 3 Enero 2012, 04:11 am
por .:UND3R:.
Estandard y el case sensitive
Bases de Datos
WHK 5 3,254 Último mensaje 25 Julio 2013, 15:33 pm
por WHK
Case sensitive charset español
Bases de Datos
kub0x 0 2,001 Último mensaje 12 Diciembre 2015, 15:58 pm
por kub0x
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines