PDA

Ver la Versión Completa : cambiar titulo grid al pinchar en el titulo


gesjug
24-11-2008, 13:29:13
Hola a todos:

veran, tengo un grid, y he puesto que ordene el grid por el campo al pinchar sobre el título, eso funciona bien.
Lo que pasa es que queria hacer que al pinchar en esa columna, se dibujara al lado del título una flecha hacia arriba o hacia abajo dependiendo de si esta ordenado ascendente o descendente, lo típico en las rejillas.
He encontrado unas ayudas en la pagina de neftali pero no me funciona, lo mismo es porque en vez de un dbgrid uso un grid de jedi pero en teoria deberia funcionar igual, y el procedimiento no me da ningun error, solo que no dibuja la flechita.
Alguien puede decirme como podria dibujar esa flecha en el titulo , por favor?

eduarcol
24-11-2008, 13:56:00
algo como esto te sirve?

dbgrid1.Columns[x].Title.Caption := dbgrid1.Columns[x].Title.Caption + ' >';

gesjug
24-11-2008, 16:10:45
lo que quiero son las tipicas flechitas hacia abajo y hacia arriba para indicar si esta ordenado ascendente o descendente

Lepe
24-11-2008, 16:35:05
hay controles que ya lo hacen, como los dbgrids de la JVCL y demás.

Si quieres hacerlo tú, es bastante simple, utiliza el ampliador de windows y mira cómo está hecho ese triángulo, básicamente son 3 lineas, algunas de ellas en blanco y otras en gris oscuro para emular la sombra y el 3D.

También podrías dibujar algo así "a-z" o bien "z-a", el símbolo "+" y "-", pero lo más standar es el triángulo.

La forma de pintar, pues en el canvas, creo el grid tiene un evento OnDrawTitle o algo así.

Saludos

gesjug
24-11-2008, 16:51:46
ya lo conseguí, gracias por todo.
Con el grid de jvcl se hace por propiedades.