Page 1 of 1

Sobre cFilter en un TDBBrowse

Posted: Wed May 27, 2020 8:20 pm
by ddupre
Estimados,
Espero se encuentren todos bien.

Primero mi planteo:
Tengo un TEdit sobre el cual el operador puede digitar lo que desea buscar y en el evento onChar de dicho TEdit pongo esto:

METHOD Nombre1Char( oSender, nKey, nFlags ) CLASS TForm2

do case
case 47 <= nKey .and. nKey <= 57 // Números y /
::oDBBrwCtas:aCols[2]:cFilter := AllTrim(oSender:Value) + Upper(Chr(nKey))
case 65 <= nKey .and. nKey <= 90 // Letras mayúsculas
::oDBBrwCtas:aCols[2]:cFilter := AllTrim(oSender:Value) + Upper(Chr(nKey))
case 97 <= nKey .and. nKey <= 122 // Letras minúsculas
::oDBBrwCtas:aCols[2]:cFilter := AllTrim(oSender:Value) + Upper(Chr(nKey))
case nKey == 8 // Back Espace
::oDBBrwCtas:aCols[2]:cFilter := SubStr(AllTrim(oSender:Value),1,Len(AllTrim(oSender:Value))-1)
endcase

Si bien el filtrado se realiza perfectamente, lo que no logro hacer, es limpiar correctamente el filtro para poder realizar otra búsqueda.

He probado muchas opciones pero no siempre el filtro se limpia.

He puesto en el evento onEnter del TEdit y en varios lugares más esto: ::oDBBrwCtas:aCols[2]:cFilter := Nil pero, si bien el filtro se "limpia", (dado que el debugger así me lo muestra), el TDBBrowse, la Tabla asociada o "no se quien" a veces sigue filtrado.

Tambien he probado agregar cosas como estas que pongo a continación pero si bien el Browse se muestra sin filtro, igualmente el filtro anterior está en algún lugar, porque cuando el operador comienza a realizar otra búsqueda, la misma, parte desde el filtro anterior.

::oDBBrwCtas:aCols[2]:cFilter := Nil
Cuentas->(dbclearfil())
::oDBBrwCtas:Refresh(.T.)

Espero haberme hecho entender.

Y ahora mi consulta:
¿Cómo funciona y sobre qué actua realmente la propiedad cFilter?, ¿como se realiza una limpieza "total"?


Se agradece toda ayuda que me puedan brindar.

Saludos
Daniel

Re: Sobre cFilter en un TDBBrowse

Posted: Thu May 28, 2020 2:56 pm
by ftwein
Hola.

Prueba con:

::oDBBrwCtas:aCols[2]:cFilter := ""

Saludos,

Fausto

Re: Sobre cFilter en un TDBBrowse

Posted: Thu May 28, 2020 5:45 pm
by ddupre
Fausto,
Lo he brobado pero lamentablemente sigue quedando filtrado (a veces)

Muchas gracias por la ayuda.
Saludos
Daniel

Re: Sobre cFilter en un TDBBrowse

Posted: Thu May 28, 2020 6:39 pm
by ddupre
Resuelto,
El problema se me daba en una situación en la que "limpiaba" el filtro del TDBBrowse luego de poner la propiedad lVisible := .F.

Saludos
Daniel