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 18-05-2005
Avatar de dmassive
dmassive dmassive is offline
Miembro
 
Registrado: mar 2004
Ubicación: Paraná - Argentina
Posts: 60
Poder: 21
dmassive Va por buen camino
Unhappy Stringgrid Ordenar datos con click en titulo de columna

Busco una componente Stringgrid que me permita hacer click en el titulo de la columna y ordene automaticamente el Stringgrid segun los valores almacenados en esa columna.

Gracias!
Responder Con Cita
  #2  
Antiguo 20-01-2006
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
hola pues fijate que yo uso lo siguiente para simular el click en la columna del stringgrid:

Cita:
Empezado por poliburro
Código Delphi [-]
 procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
  Var
   Valor :String;
   LGcCoord: TGridCoord; //Define las cordenadas del mouse en el grid
 begin
   LGcCoord := TCustomGrid(StringGrid1).MouseCoord(x,y);
   GiCol := LGcCoord.X; //Establece la columna seleccionada
   GiRow := LGcCoord.Y; //Establece la fila seleccionada
   if (GiRow = 0) And (Button = mbleft) And (GiCol <> -1) then
     Begin
       with stringgrid1 do
         Begin
           GCelda := CellRect(GiCol,0);
           Valor := Cells[GiCol, 0];
           Canvas.Font := Font;
           Canvas.Brush.Color := clBtnFace;
           Canvas.FillRect(GCelda);
           Canvas.TextRect(GCelda, GCelda.Left + 2, GCelda.Top + 2, Valor);
           DrawEdge(Canvas.Handle, GCelda, 10, 2 or 4 or 8);
           DrawEdge(Canvas.Handle, GCelda, 2 or 4, 1);
         End;
      End;
 End;
 procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
  Var
   Valor :String;
 begin
   if (GiRow = 0) And (Button = mbleft) And (GiCol <> -1) then
     Begin
       with stringgrid1 do
         Begin
           Valor := Cells[Gicol, 0];
           Canvas.Font := Font;
           Canvas.Brush.Color := clBtnFace;
           Canvas.FillRect(GCelda);
           Canvas.TextRect(GCelda, GCelda.Left + 2, GCelda.Top + 2, Valor);
           DrawEdge(Canvas.Handle, GCelda, 4, 4 or 8);
           DrawEdge(Canvas.Handle, GCelda, 4, 1 or 2);
           GCelda := stringgrid1.CellRect(1, 1);
         End;
     End;
 end;
espero te sirva como a mi me ha servidor
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


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


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