FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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..."
|
#2
|
|||
|
|||
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 |
#3
|
||||
|
||||
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. |
|
|
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 |
|