![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
![]() Saludos, quiero hacer con un dbgrid algo como esto:
http://www.boliviatech.com/tabla.GIF http://www.boliviatech.com/tabla2.GIF o saber si hay algun componente para firebird con el que pueda hacer eso, o sea ordenar por una columna haciendo click en el titulo, pero quiero que salga esa flechita que indica como esta ordenado. Tambien quiero saber si alguien sabe como puedo hacer para buscar por un campo calculado en un ibtable. Desde ya muchas gracias por su ayuda ![]() |
#2
|
||||
|
||||
Para ordenar por un campo en concreto debes capturar el evento apropiado del grid, depende del que uses, puede ser algo así como: "HeadClick", "TitleClick", etc.
Por ejemplo, imagina que tienes un dbgrid asociado a un dataset mediante su correspondiente datasource, el dataset tiene una sentencia parecida a esta: Código:
Select Codigo, Nombre, Salario from tbEmpleados order by Codigo Código:
procedure TForm1.DBGrid1TitleClick(Column: TColumn); begin dataset.close; case Column of 0: dataset.sql.text:='Select Codigo, Nombre, Salario from tbEmpleados order by Codigo'; 1: dataset.sql.text:='Select Codigo, Nombre, Salario from tbEmpleados order by Nombre'; 2: dataset.sql.text:='Select Codigo, Nombre, Salario from tbEmpleados order by Salario'; end; dataset.open; end; Para pintar la flechita o lo que quieras puedes hacer algo parecido: Código:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row: Integer; Rect: TRect; State: TGridDrawState); begin if Col=2 then with StringGrid1.Canvas do Draw(Rect.Left, Rect.Top, Image1.Picture.Graphic); end;
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Gracias, de esa forma si me lo se :P, pense que habia un componente, por que si te das cuenta digamos en el winzip cuando lista archivos, vos puedes hacer clic en el titulo, y este es como un boton :P en ese caso no es un boton, queria un componente ya hecho para eso :P. Y busque en el foro pero no pille algo como lo que quiero
![]() |
#4
|
||||
|
||||
Evidentemente el winzip y todos los programas hacen eso mismo "por debajo"
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
Aquí también tienes otro ejemplo en Delphi de cómo dibujar la flechita en los títulos de un DBGrid.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
|||
|
|||
Gracias, excelente
![]() |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ordenar datos en un DBGrid con click en cabecera | totote | Varios | 19 | 31-05-2014 06:59:24 |
Ordenar un DBGrid con click sobre un campo | bustio | OOP | 3 | 27-11-2007 19:00:41 |
Ordenar Datos en DBGrid mediante un Click | anghell77 | Varios | 2 | 20-05-2006 17:59:27 |
Stringgrid Ordenar datos con click en titulo de columna | dmassive | Varios | 1 | 20-01-2006 04:09:12 |
Como ordenar un DBGrid haciendo click sobre cada campo | judoboy | OOP | 5 | 02-08-2005 02:52:31 |
![]() |
|