FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Filtrado general de un browse... (es posible con TSBROWSE)
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM

Filtrado general de un browse... (es posible con TSBROWSE)

Posted: Tue Mar 25, 2008 09:40 AM

Es posible realizar un filtrado general de todos los campos de un browse que cumplan una condición. A modo de ejemplo lo que realiza el iTunes de Apple. Que tienes una condición que busca en todos los campos y solo te muestra aquellos registros donde cualquiera de sus campos cumple la condición.

Generalmente esto debe realizarse en los campos de texto buscando una parte parcial de alguno de los campos, supongo que de manera similar a como lo realiza el comando AT()

Que browse debo utilizar...
Existe algún ejemplo
Es posible con el browse del Sr. Mercado.

Saludos



Andrés González desde Mallorca
Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM

Filtrado general de un browse... (es posible con TSBROWSE)

Posted: Tue Mar 25, 2008 12:20 PM

Hola,

se me ocurre que puedes hacer la busqueda y los regs. que cumplen l a condicion lo marcas a traves de un campo, y luego aplicas un filtro o un scope sobre el campo de marca y eso no dependera del browse que utilices.

solo una idea

saludos

Marcelo

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM

Filtrado general de un browse... (es posible con TSBROWSE)

Posted: Tue Mar 25, 2008 08:27 PM

Andrés:

Otra posibilidad es que te apoyes en conocer cuantos campos de tipo character tiene el registro y despues hacer un filtro de esos campos, por ejempo:

cFiltro $ CampoCharacter1 .OR. cFiltro $ CampoCharacter2 .OR. etc etc

Tambien es solo una idea

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 782
Joined: Wed Dec 19, 2007 07:50 AM

Re: Filtrado general de un browse... (es posible con TSBROWS

Posted: Wed Mar 26, 2008 03:42 PM
Hola Andrés:
Andrés González wrote:Es posible realizar un filtrado general de todos los campos de un browse que cumplan una condición. A modo de ejemplo lo que realiza el iTunes de Apple. Que tienes una condición que busca en todos los campos y solo te muestra aquellos registros donde cualquiera de sus campos cumple la condición.

Puedes probar esto, funcionará con cualquier tipo de campo:
   Set Filter To lEncuentra( cBusca )
      
Function lEncuentra( cBusca )
   
   Local cText := ""
   
   For nFld := 1 To FCount()
      cText += cValToChar( FieldGet( nFld ) )
   Next
   
Return cBusca $ cText

Andrés González wrote:Que browse debo utilizar...

Cualquiera.

Andrés González wrote:Es posible con el browse del Sr. Mercado

También, ya que los filtros son aplicables a cualquier browse. En el caso de TSBrowse, también podrías usarlo como argumento de búsqueda para encontrar datos en los registros mostrados en una base de datos no filtrada usando oBrw:ExpLocate( lEncuentra( cBusca ) )

Saludos.

Manuel Mercado
manuelmercado at prodigy dot net dot mx
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM

Filtrado general de un browse... (es posible con TSBROWSE)

Posted: Wed Mar 26, 2008 09:06 PM

Gracias, Marcelo, Armando y sobre todo a D. Manuel. La verdad tengo entendido que el set filter provoca problemas de lentitud pero en mi caso tampoco es muy importante ya que la base de datos que pretendo utilizar es muy dinámica y no suele contener muchos registros. había pensado en una solución similar a la propuesta por Armando pero la idea del sr. Mecado es muy elegante.

Saludos



Andrés González desde Mallorca

Continue the discussion