Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-05-2006
Avatar de anghell77
anghell77 anghell77 is offline
Miembro
 
Registrado: may 2006
Posts: 194
Poder: 19
anghell77 Va por buen camino
Ordenar Datos en DBGrid mediante un Click

Hola a todos.....Primero lo primero: DELPHI 7 PARADOX 7

No se si quiera si aquí deba publicar el hilo, pero como aquí son varios pues puede ser que esté menos mal que ponerlo en otro lado...

El título, habla por sí solo.... Quisiera ver si me pueden ayudar a hacer eso: que al dar un click sobre una columna o sobre el encabezado de la columna de un DBGRID se ordenasen los datos, por la columna seleccionada.....tal como sucede en las ventanas de windows, al dar click sobre la columna de los nombres de los archivos, la de el tamaño, etc.

Sé que probablemente funcione, cerrar la consulta y reescribir el sql:

por decir, en el evento on CellClick (del DBGrid)
DataModule2.Invers.Close;
DataModule2.Invers.SQL.Add('order by "AQUI ENTRA EL NOMBRE DEL CAMPO")
DataModule2.Invers.Open;

pero que sucede si tengo las Opciones del DBGrid "dgAlwaysShowSelection=TRUE" y "dgRowSelect=TRUE"???

Obviamente dejará de ordenar los datos del grid, por la columna específica no??

Y es más...creo que no serviría ni si quiera aplicar el evento OnCellClick como lo he escrito antes....

Ahora, pues si alguien puede ayudarme....
__________________
"...Ayer Bastaba un Sueño..."
Responder Con Cita
  #2  
Antiguo 20-05-2006
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Poder: 19
celades1 Va por buen camino
Hola

La idea que tienes es la correcta pero el evento es el ontitleclic o bien bajarte un componente dbgrid que ya tenga programado el evento.
Nosotros tenemos nuestro propio DBGrid con nuestros propios eventos programados y no es facil programar lo que tu quieres sin que falle nunca ya que siempre hay algun caso (selects raras, campos calculados etc) .
Pero la idea es cerrar la tabla mirar el field de la columna clicada y generar la nueva select con un order by del field ya sea por nombre o numero de order dentro de la select.
En fin es para que te lo trabajes un rato.

Saludos
Responder Con Cita
  #3  
Antiguo 20-05-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Usa en las opciones del grid TiTleButton a true y en el evento on TitleButtonClick (creo que se llama) es donde haces todo eso, es decir, pulsas arriba del todo de la columna, donde pone el nombre del campo, y entonces es cuando manda la consulta.

Creo que en ese evento tienes el índice de la columna... así que puedes usar Dbgrids.Columns[index].Field.Fieldname para saber el nombre del campo de esa columna.

Si en ese evento tienes un parámetro de tipo TColumn, pues Column.Field.FieldName.

como ves lo digo de memoria... no tengo delphi a mano.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Stringgrid Ordenar datos con click en titulo de columna dmassive Varios 1 20-01-2006 04:09:12
Detectar click sobre columna de un DBgrid lavtaro Varios 2 13-11-2005 01:56:10
Dbgrid, evento para seleccion con click Alejandro Vilte OOP 3 19-10-2005 20:00:03
Como ordenar un DBGrid haciendo click sobre cada campo judoboy OOP 5 02-08-2005 02:52:31
ordenar datos del DBGrid! kage_01 Tablas planas 1 02-07-2005 03:42:28


La franja horaria es GMT +2. Ahora son las 00:29:04.


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