Foros del Web » Programación para mayores de 30 ;) » .NET »

Filtrar datagridview con varios combobox

Estas en el tema de Filtrar datagridview con varios combobox en el foro de .NET en Foros del Web. Hola, tengo un problema muy raro con un datagridview que llevo días intentando solucionar... Tengo un datagridview que filtro con tres combobox. Lo que quiero ...
  #1 (permalink)  
Antiguo 26/01/2018, 12:25
 
Fecha de Ingreso: julio-2014
Mensajes: 4
Antigüedad: 8 años, 1 mes
Puntos: 0
Filtrar datagridview con varios combobox

Hola, tengo un problema muy raro con un datagridview que llevo días intentando solucionar...
Tengo un datagridview que filtro con tres combobox. Lo que quiero es que se pueda filtrar con uno, dos o los tres combobox.
El código que tengo es este:
Código:
AccessBDBindingSource.Filter = String.Format("[Field1] like '%{0}%' AND  [Field2] like '%{1}%' AND [Field3] like '%{2}%'", Me.ComboBox1.Text, Me.ComboBox2.Text, Me.ComboBox3.Text)
Esto funciona, PERO en el combobox1 los datos que tengo son "1r, 2n, 3r, 4t, 5e, 6e" y en el caso de elegir 3r o 5e no funciona. No da error, sólo se queda en blanco.

Si quito los % del Field1 entonces sí que me filtra por 3r y 5e pero entonces no puedo filtrar sólo por Field2 o Field3, tiene que estar también Field1.
Si quito el % de todos, no funciona.
A alguien se le ocurre qué puede pasar?
Gracias!!
  #2 (permalink)  
Antiguo 04/02/2018, 13:56
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.053
Antigüedad: 19 años, 10 meses
Puntos: 37
Respuesta: Filtrar datagridview con varios combobox

El % representa un caracter comodin, le estas indicando:

%midato = que empiece con cualquier caracter y que termine con "midato"
midato% = que empiece con "midato" y que termine con cualquier serie de caracteres
%midato% = que contenga "midato" en cualquier parte, no importa si inicia o termina con cualquier serie de caracteres.

Adicional a eso, los "AND" son para que sean mutuamente incluyentes las 3 condiciones.

Etiquetas: combobox, datagridview, filtrar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:45.