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.

Establecer orden

Foro público de Xailer en español
Responder
Mario Hahn
Mensajes: 33
Registrado: Sab Jul 15, 2006 12:05 am

Establecer orden

Mensaje 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
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9463
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Establecer orden

Mensaje 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
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Israel Solis
Mensajes: 165
Registrado: Mié Nov 03, 2004 12:42 pm
Ubicación: Cancún, México
Contactar:

Establecer orden

Mensaje 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
Saludos :D

Israel
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9463
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Establecer orden

Mensaje 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
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder