Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-05-2008
sonjeux sonjeux is offline
Miembro
 
Registrado: jul 2004
Posts: 60
Poder: 20
sonjeux Va por buen camino
Red face DBGrid ordenar haciendo click en el titulo

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
Responder Con Cita
  #2  
Antiguo 04-05-2008
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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
Quieres ordenar por "salario" y pinchas sobre el título del grid, haces algo parecido a esto:

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;
Esto es una manera un poco "chapuza" de código, pero es sólo para que lo entiendas.

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;
Seguro que si haces una búsqueda por los foros encuentras multitud de ejemplos que te pueden ser de ayuda.
Responder Con Cita
  #3  
Antiguo 04-05-2008
sonjeux sonjeux is offline
Miembro
 
Registrado: jul 2004
Posts: 60
Poder: 20
sonjeux Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 04-05-2008
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Evidentemente el winzip y todos los programas hacen eso mismo "por debajo"
Responder Con Cita
  #5  
Antiguo 05-05-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.267
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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.
Responder Con Cita
  #6  
Antiguo 06-05-2008
sonjeux sonjeux is offline
Miembro
 
Registrado: jul 2004
Posts: 60
Poder: 20
sonjeux Va por buen camino
Gracias, excelente
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
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


La franja horaria es GMT +2. Ahora son las 05:11:29.


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