Página 1 de 1

Filtros con dataset relacionados

Publicado: Vie Ago 06, 2010 6:14 am
por Pepe Lutrillo
Buenos Dias:
Tengo un par de dataset que están relacionados.
::oDataSet:SetRelation("REGION" , ::oDataSetRegiones)
Dentro de un TDBBrowse creo un campo calculado de esta forma:
WITH OBJECT oCol1 := TDBBrwColumn():New(::oBrw)
:cHeader := "Region"
:nAlignment := taLEFTHEADERCENTER
:lVisible := .T.
:OnGetData := { |o, c, i| c:=::oDataSetRegiones:CLAVE}
:lCanFilter := .T.
:FilterEval := "UPPER('%') $ ::oDataSetRegiones:CLAVE"
END
-> En donde ::oDataSetRegiones:CLAVE hace referencia a un campo del dataset relacionado.
Pero al ejectar el filtro, el TDBBrowse no filtra la información.
¿Es posible filtrar sobre campos calculados que estén formados a través de otro Dataset?
Mil gracias por su ayuda
Pepe Lutrillo

Filtros con dataset relacionados

Publicado: Vie Ago 06, 2010 2:26 pm
por zeasoftware
Usa el nombre del campo:
WITH OBJECT oCol1 := TDBBrwColumn():New(::oBrw)
:cHeader := "Region"
:nAlignment := taLEFTHEADERCENTER
:lVisible := .T.
:oDataField := "Region"
///:OnGetData := { |o, c, i| c:=::oDataSetRegiones:CLAVE}
:lCanFilter := .T.
:FilterEval := "UPPER('%') $ Upper(Region)"
END
Espero te sirva.
--
Ramón Zea
01.993.231-62-29
http://www.paginasprodigy.com/zeasoftware/
zeasoftware@prodigy.net.mx
zeasoftware@hotmail.com
ramonzea@yahoo.com
zeasoft.movil@hotmail.com

Filtros con dataset relacionados

Publicado: Sab Ago 07, 2010 2:59 pm
por Pepe Lutrillo
Hola Ramón.
Funciona agregando el alias del campo
ilterEval := "UPPER('%') $ Upper(Regiones->Clave)
Gracias por tu ayuda
Saludos,
Pepe Lutrillo

Filtros con dataset relacionados

Publicado: Sab Ago 07, 2010 4:42 pm
por zeasoftware
Es lo mismo, el DataSet encapsula el filtro en el area de trabajo.
Saludos.
--
Ramón Zea
01.993.231-62-29
http://www.paginasprodigy.com/zeasoftware/
zeasoftware@prodigy.net.mx
zeasoftware@hotmail.com
ramonzea@yahoo.com
zeasoft.movil@hotmail.com

Filtros con dataset relacionados

Publicado: Dom Ago 08, 2010 6:31 am
por Pepe Lutrillo
Ramón,
Es lo mismo si el campo solo existe en uno de los datasets.
Si tienes un campo (por ejemplo, CLAVE) en ambos dataset, debes identificarlo con el alias.
A eso te refieres?
Gracias nuevamente.
Pepe Lutrillo

Filtros con dataset relacionados

Publicado: Lun Ago 09, 2010 1:57 pm
por ignacio
Pepe,
Piensa que para realizar el filtro se usa en el caso de DBFs el clásico
comando SET FILTER TO que como sabrás se utiliza sobre la tabla activa
principalmente. No obstante, si realizas una relación con SET RELATION
supongo que es muy probable que funcione un SET FILTER con un campo de la
tabla relacionada, pero lo más importante es que tengas en cuenta es que el
RDD no tiene ni idea sobre tu campo calculado y por lo tanto en la expresión
del 'FilterEval' sólo podrás usar expresiones que el RDD con el comando SET
FILTER TO pueda comprender.
Un saludo
"Pepe Lutrillo" <pepelutrillo[at]hotmail[dot]com> escribió en el mensaje de
noticias:4c5b8c08$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Buenos Dias:
>
> Tengo un par de dataset que están relacionados.
>
> ::oDataSet:SetRelation("REGION" , ::oDataSetRegiones)
>
> Dentro de un TDBBrowse creo un campo calculado de esta
> forma:
>
> WITH OBJECT oCol1 := TDBBrwColumn():New(::oBrw)
> :cHeader := "Region"
> :nAlignment := taLEFTHEADERCENTER
> :lVisible := .T.
> :OnGetData := { |o, c, i| c:=::oDataSetRegiones:CLAVE}
> :lCanFilter := .T.
> :FilterEval := "UPPER('%') $ ::oDataSetRegiones:CLAVE"
> END
>
> -> En donde ::oDataSetRegiones:CLAVE hace referencia a un
> campo del dataset relacionado.
>
> Pero al ejectar el filtro, el TDBBrowse no filtra la
> información.
>
> ¿Es posible filtrar sobre campos calculados que estén
> formados a través de otro Dataset?
>
> Mil gracias por su ayuda
> Pepe Lutrillo
>
>
>

Filtros con dataset relacionados

Publicado: Sab Ago 14, 2010 3:35 am
por Marcelo Coelho Silva
Ignacio Ortiz de Zúñiga,
Em revisão futura do Xailer, poderia-se corrigir isto, fazendo que o
filtro reconheça o campo calculado assim como um campo normal.
Att.
Marcelo Coelho Silva
Brasil.
Em 09/08/2010 08:57, Ignacio Ortiz de Zúñiga escreveu:
> Pepe,
>
> Piensa que para realizar el filtro se usa en el caso de DBFs el clásico
> comando SET FILTER TO que como sabrás se utiliza sobre la tabla activa
> principalmente. No obstante, si realizas una relación con SET RELATION
> supongo que es muy probable que funcione un SET FILTER con un campo de
> la tabla relacionada, pero lo más importante es que tengas en cuenta es
> que el RDD no tiene ni idea sobre tu campo calculado y por lo tanto en
> la expresión del 'FilterEval' sólo podrás usar expresiones que el RDD
> con el comando SET FILTER TO pueda comprender.
>
> Un saludo
>
> "Pepe Lutrillo" <pepelutrillo[at]hotmail[dot]com> escribió en el mensaje
> de noticias:4c5b8c08$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Buenos Dias:
>>
>> Tengo un par de dataset que están relacionados.
>>
>> ::oDataSet:SetRelation("REGION" , ::oDataSetRegiones)
>>
>> Dentro de un TDBBrowse creo un campo calculado de esta
>> forma:
>>
>> WITH OBJECT oCol1 := TDBBrwColumn():New(::oBrw)
>> :cHeader := "Region"
>> :nAlignment := taLEFTHEADERCENTER
>> :lVisible := .T.
>> :OnGetData := { |o, c, i| c:=::oDataSetRegiones:CLAVE}
>> :lCanFilter := .T.
>> :FilterEval := "UPPER('%') $ ::oDataSetRegiones:CLAVE"
>> END
>>
>> -> En donde ::oDataSetRegiones:CLAVE hace referencia a un
>> campo del dataset relacionado.
>>
>> Pero al ejectar el filtro, el TDBBrowse no filtra la
>> información.
>>
>> ¿Es posible filtrar sobre campos calculados que estén
>> formados a través de otro Dataset?
>>
>> Mil gracias por su ayuda
>> Pepe Lutrillo
>>
>>
>>