Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Trabajo con DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=55285)

JoAnCa 12-04-2008 17:35:04

Trabajo con DBGrid
 
Como hacer para cuando haga clic en el titulo de la columna de un DBGrid se ordene por ese campo correspondiente

jhonny 12-04-2008 17:41:02

El evento OnTitleClick te envía la columna en la que hicieron Click, si dicha información la traes desde un Query, podrás re-ejecutar la consulta agregandole un order by por ese campo, si esa info esta en un DataSet en memoria tipo RxMemoryData, podrás hacer uso de su método Sort, si esa información esta en un TClientDataSet, podrás hacer uso de sus cualidades de indexación.

JoAnCa 14-04-2008 23:19:31

Ordenar DBGrid
 
Gracias, jonny por su ayuda
Consegui ordenar mi DBGrid como deseaba, pero tengo un problema
Uso un TClientDataSet, enlazando con un .mdb de access 2003, me ordena por todos los campos menos por dos.
Estos dos campos son parte de una consulta que provienen de otra consulta de sumatoria.

Es decir, tengo las siguientes consultas hechas en el access:
c HDD --> Suma la capacidad de todos los Discos duros
c Mem --> Suma todos los DIMM de memorias
c Configuracion --> Es el resumen de todas las caracteristicas de la PC, que contiene ademas los campos resultantes de las dos consultas anteriores.

Cuando trato de ordenar por los campos TotalRAM o TotalHDD me da un error, aunquew si funciona bien con los demas campos de la consulta

Que puede estar sucediendo, si es que hice mal la consulta, entonces como podre hacer para que me muestre los datos como deseo.

Delfino 15-04-2008 08:18:56

Depende del Access y si permite ordenar por campos calculados como hace la ultima version del Firebird, prueba a ver si desde el Access mismo te permite ordenar estas columnas..

MaMu 15-04-2008 08:49:49

Cita:

Empezado por Jose Caceres (Mensaje 280036)
Cuando trato de ordenar por los campos TotalRAM o TotalHDD me da un error, aunquew si funciona bien con los demas campos de la consulta

Que puede estar sucediendo, si es que hice mal la consulta, entonces como podre hacer para que me muestre los datos como deseo.

Hola, para poder ordenar por los campos calculados, tenes que usar un ClientDataSet, y su provider apuntado al Query de la consulta. Tuve el mismo problema que vos hace un tiempo, y asi lo solucione. Seguramente estas utilizando Access, aunque en mySQL tuve tambien el problema.

Cita:

Empezado por Delfino (Mensaje 280111)
Depende del Access y si permite ordenar por campos calculados como hace la ultima version del Firebird, prueba a ver si desde el Access mismo te permite ordenar estas columnas..

Desconozco la ultima versión de firebird, pero me tienta a probarla, gracias por el dato.

Saludos


La franja horaria es GMT +2. Ahora son las 17:12:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi