Página 1 de 1

Establecer orden

Publicado: Jue Jul 20, 2006 2:52 pm
por Mario Hahn
Hola a todos,
¿Hay alguna propiedad que me establezca el Orden de una tabla mostrada en un
browse, y que se lo puede modificar por ejemplo haciendo click sobre el
encabezado?
Saludos.
Mario Hahn
Misiones - Argentina

Establecer orden

Publicado: Jue Jul 20, 2006 4:09 pm
por ignacio
Mario,
Los controles tipo TDbfBrowse y TDBBrowse no tienen la funcionalidad de
ordenar automáticamente pulsando en el encabezado. El único control que
tiene esa propiedad de forma automática es el TArrayBrowse.
Todo el proceso lo deberá hacer usted manualmente. Para ordenar con el
TDbfBrowse sería así:
1) Capturar el evento OnHeaderClick de cada columna
2) Realizar un índice temporal sobre el campo que apunta la columna
3) Mostrar que la columna esta ordenada con la propiedad TBrwColumn:nSort :=
bsASCENDING
4) Sería recomendable controlar una segunda pulsación en la misma columna
para llamar a OrdDescend() y a su vez actualizar TBrwColumn:nSort a
bsDESCENDING
5) No se olvide de borrar el fichero temporal cuando cierre el formulario
En el caso del TDBBrowse se simplifica el proceso algo utilizando el método
Sort del objeto DataSet
Un saludo,
"Mario Hahn" <mhahn@prico.com.ar> escribió en el mensaje
news:[email=44bf7e42@news.xailer.com...]44bf7e42@news.xailer.com...[/email]
> Hola a todos,
> ¿Hay alguna propiedad que me establezca el Orden de una tabla mostrada en
> un browse, y que se lo puede modificar por ejemplo haciendo click sobre el
> encabezado?
> Saludos.
> Mario Hahn
> Misiones - Argentina
>

Establecer orden

Publicado: Jue Jul 20, 2006 5:55 pm
por Israel Solis
>
> En el caso del TDBBrowse se simplifica el proceso algo utilizando el método
> Sort del objeto DataSet
>
>
Con respecto a esta buena idea, tengo una duda, este método crea un TAG
provisional para la ordenación pero, que sucede si el usuario hace clic
en otra columna (y por lo tanto selecciono otro TAG), y si regresa y
hace clic nuevamente en la columna con el TAG provisional creado con el
método Sort, como puedo recuperar ese orden que ya se habí­a creado?
En otras palabras, si el método Sort crea un TAG provisional y este se
destruye hasta cerrar el DataSet, como puedo saber el nombre de ese TAG
para volverlo a seleccionar en un momento dado y no tener que volver a
pasar la instrucción al Sort para que vuelva a construirlo?
SALUDOS!!
Israel Solis

Establecer orden

Publicado: Jue Jul 20, 2006 6:28 pm
por ignacio
Israel,
Efectivamente tiene ese problema. En dicho caso deberá crear usted los tags
manualmente para cada columna. Le recomiendo que cre un índice temporal y
añade un tag por cada columna que se ordene.
El tag se crea en un fichero temporal con el nombre _TEMPTAG.
Un saludo,
"Israel Solis" <isolis@[antispam]sanroms.com> escribió en el mensaje
news:[email=44bfa779@news.xailer.com...]44bfa779@news.xailer.com...[/email]
> >
>> En el caso del TDBBrowse se simplifica el proceso algo utilizando el
>> método Sort del objeto DataSet
>>
>>
>
> Con respecto a esta buena idea, tengo una duda, este método crea un TAG
> provisional para la ordenación pero, que sucede si el usuario hace clic en
> otra columna (y por lo tanto selecciono otro TAG), y si regresa y hace
> clic nuevamente en la columna con el TAG provisional creado con el método
> Sort, como puedo recuperar ese orden que ya se había creado?
>
> En otras palabras, si el método Sort crea un TAG provisional y este se
> destruye hasta cerrar el DataSet, como puedo saber el nombre de ese TAG
> para volverlo a seleccionar en un momento dado y no tener que volver a
> pasar la instrucción al Sort para que vuelva a construirlo?
>
>
> SALUDOS!!
>
>
> Israel Solis