![]() |
Ordenar un dbgrid en acendente y decendente.
hola.
me pregunto como puedo crear un Boton 'ordenar', para un bdgrid que cuando seleccione una celda pueda ordenar en descendente y/o decendente el dbgrid con respecto a ese campo, espero ser claro. utilizo un ztable, firebird. nota:esto puedo hacerlo con el componente zquery pero en este caso me gustaria un ztable. gracias de antemano:) |
Hola, puedes utilizar los filtros del dataset para ordenar los datos en el DBGrid, o tambien puedes usar el truco 458 en la sección de trucos.
Saludos. |
Hola Jheysson13, puedes utilizar el evento OnTittleClick del DbGrid y la propiedad Sort de tu DataSet, un ejemplo con los componentes Ado.
El ZTable creo que tiene una propiedad SortedField, entonces Sort cambias por SortedField. Saluditos |
saludo de nuevo
solo queria decir que he provado los dos codigos y me funcionaron los dos. salvo que ambos me daban el mismo problema tanto el del truco 458, como el que me detallo caro. es que al momento de clickear por primera vez sobre la columna me ordena los campos de la manera inversa al orden, pero si clickeo otra vez no lo hace, a menos que clickee sobre otro campo y asi sucesivamente. otra cosa es que cuando doy un refresh a la ztable no me deja el orden defaul, sino que lo deja invertido siempre.. como puedo solucionar esto.. gracias de nuevo. |
Hola, en el truco prueba cambiando estas lineas:
ojo lo hice al vuelo, puede que no funcione. Saludos. |
Hola Jheison, a mi me funciona bien haciendo click en la misma columna primero me ordena en ascendente y si clikeo otra vez en la misma en desendente, porque en el codigo que te puse esta así, una vez que ha ordenado en ASC cambia el orden a DESC y viceversa, la variable Orden tiene que ser una variable global en tu unidad.
Saluditos |
enecumene cuando hice el codigo me fije en los detalles de esas lineas que se encontraban en el tema y los cambie tabien, pero me sigue igual, sin mencionar que estoy trabajando con ztable y no adotable lo k hace que tenga que adaptarlo mas. gracias de todos modos.
caro la variable Orden la declare de manera global como dices pero no se que es lo que pasa, supongo que sera por el componente que estoy usando, ya que es mucha coincidencia que ambos trucos tengan el mismo problema.. de todas formas gracias por la informacion, y su ayuda. vere que puedo hacer. salu2 |
utiliza un query en vez del dbtable que es mucho mas facil y puedes resolver mas facilmente el problema
en el sql pones select * from tabla order by campo desc select * from tabla order by campo asc creo que es asi saludos |
tienes razon es mas facil, pero como dije en un principio ya tengo el proyecto muy avanzado para cambiar el ztable por zquery, entiendes mi punto.
de haber sabido que tendria este incombeniente ubiese elejido el query desde el principio.. salu2:):) |
La franja horaria es GMT +2. Ahora son las 04:21:30. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi