In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Ayuda con ::oDbf:setfilter()

Foro de Xailer profesional en español
Responder
Avatar de Usuario
Carlos Ortiz
Mensajes: 873
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Ayuda con ::oDbf:setfilter()

Mensaje por Carlos Ortiz »

Necesito hacer una pantalla con un browse y que el usuario seleccione mediante algunas listas MARCAS / FABRICANTE / RUBRO / CATEGORIA / ETC segun el registro que elija de cada combo que se aplique un filtro para 1, 2 3, 4 o 5 condiciones, por ende me parece que los mas apropiado seria armar una cadena condicional.
Probre con una sola y no me funciona, que estoy haciendo mal, no filtra nada.
------------------------------------------------------------ --------------------
::oDbf:SetFilter("{ || ::oDbf:nidfabr == "+nIDFabr+" }",.t.)
nIDFabr // Es una variable
Gracias.
--
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Ayuda con ::oDbf:setfilter()

Mensaje por zeasoftware »

debes armar tu filtro segun las opciones seleccionadas.
cFilter := ""
Do Case
Case cMarca != "Todos"
cFilter += " MARCA == " + cMarca
Case cFabricante != "Todos"
cFilter += ".And. FABRICANTE == " + cFabricante
EndCASE
::oDbf:SetFilter(cFilter,.t.)
Es una idea, ya que hay que validar para aplicar los .AND. pero es una idea, lo hice en clipper una vez, pero tendria que buscarlo por que no recuerdo que que .PRG estara.
Espero te sirva,
Saludos.
--
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Ayuda con ::oDbf:setfilter()

Mensaje por jose.luis »

Carlos,
Tu solo debes pasar el filtro en formato carácter que Xailer monta el codeblock.
Saludos,
José Luis Capel
"Carlos Ortiz" <cortiz@assistinfo.com.ar> escribió en el mensaje de noticias news:[email=467f24d8@ozsrv2.ozlan.local...]467f24d8@ozsrv2.ozlan.local...[/email]
Necesito hacer una pantalla con un browse y que el usuario seleccione mediante algunas listas MARCAS / FABRICANTE / RUBRO / CATEGORIA / ETC segun el registro que elija de cada combo que se aplique un filtro para 1, 2 3, 4 o 5 condiciones, por ende me parece que los mas apropiado seria armar una cadena condicional.
Probre con una sola y no me funciona, que estoy haciendo mal, no filtra nada.
------------------------------------------------------------ ------------------
::oDbf:SetFilter("{ || ::oDbf:nidfabr == "+nIDFabr+" }",.t.)
nIDFabr // Es una variable
Gracias.
--
Avatar de Usuario
Carlos Ortiz
Mensajes: 873
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Ayuda con ::oDbf:setfilter()

Mensaje por Carlos Ortiz »

Gracias Ramon, probare de cargar una variable antes y no mandar el bloque de
codigo, aunque en clipper para DOS andaba de primera. Seguire probando.
Muchas gracias.
"Ramon Zea" <zeasoftware@hotmail.com> escribió en el mensaje
news:[email=467f6698@ozsrv2.ozlan.local...]467f6698@ozsrv2.ozlan.local...[/email]
debes armar tu filtro segun las opciones seleccionadas.
cFilter := ""
Do Case
Case cMarca != "Todos"
cFilter += " MARCA == " + cMarca
Case cFabricante != "Todos"
cFilter += ".And. FABRICANTE == " + cFabricante
EndCASE
::oDbf:SetFilter(cFilter,.t.)
Es una idea, ya que hay que validar para aplicar los .AND. pero es una idea,
lo hice en clipper una vez, pero tendria que buscarlo por que no recuerdo
que que .PRG estara.
Espero te sirva,
Saludos.
Avatar de Usuario
Carlos Ortiz
Mensajes: 873
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Ayuda con ::oDbf:setfilter()

Mensaje por Carlos Ortiz »

OK Jose Luis. Muchas gracias.
"José Luis Capel" <jose.luis@capelsoft.com> escribió en el mensaje
news:[email=4680110a@ozsrv2.ozlan.local...]4680110a@ozsrv2.ozlan.local...[/email]
Carlos,
Tu solo debes pasar el filtro en formato carácter que Xailer monta el
codeblock.
Saludos,
José Luis Capel
"Carlos Ortiz" <cortiz@assistinfo.com.ar> escribió en el mensaje de noticias
news:[email=467f24d8@ozsrv2.ozlan.local...]467f24d8@ozsrv2.ozlan.local...[/email]
Necesito hacer una pantalla con un browse y que el usuario seleccione
mediante algunas listas MARCAS / FABRICANTE / RUBRO / CATEGORIA / ETC segun
el registro que elija de cada combo que se aplique un filtro para 1, 2 3, 4
o 5 condiciones, por ende me parece que los mas apropiado seria armar una
cadena condicional.
Probre con una sola y no me funciona, que estoy haciendo mal, no filtra
nada.
::oDbf:SetFilter("{ || ::oDbf:nidfabr == "+nIDFabr+" }",.t.)
nIDFabr // Es una variable
Gracias.
Responder