Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Ordenar DBGrid en C++ (https://www.clubdelphi.com/foros/showthread.php?t=80317)

DanielMC 18-09-2012 14:51:53

Ordenar DBGrid en C++
 
Saludos amigos, no sé si este será el titulo correcto para el tema creado, pero esto es lo que quiero hacer.
En un DBGrid muestro varios datos de la BD, como pudiera hacer para que cuando le dé encima de uno de esos datos se me ordene lo mostrado en el DBGrid según lo seleccionado. Es decir ordenar los datos de un DBGrid al clickear en la cabecera del mismo.
Ejemplo:
Nombre,Sexo,Edad en el DBGrid
Si le doy encima de nombre se me ordena los mostrado en el DBGrid por nombre.
y así sucesivamente para los otros.


Vi algunos ejemplos en delphi utilizando el evento OnTitleClick del DBGrid pero no se como adaptarlo a c++

ecfisa 19-09-2012 08:09:37

Hola DanielMC.

Cita:

Vi algunos ejemplos en delphi utilizando el evento OnTitleClick del DBGrid pero no se como adaptarlo a c++
No puedo ser muy específico por que no sé que ejemplos has visto ni tampoco especificas con que componentes estas trabajando, pero te pongo un ejemplo simple que te funcionará con cualquier consulta:
Código:

...
void __fastcall TForm1::DBGrid1MouseMove(TObject *Sender,
  TShiftState Shift, int X, int Y) {

  TGridCoord GC;
  TDBGrid *Grid = static_cast<TDBGrid*>(Sender);
  GC = Grid->MouseCoord(X,Y);
  if (GC.Y == 0)
    Grid->Cursor = crHandPoint;
  else
    Grid->Cursor = crDefault;
}

void __fastcall TForm1::DBGrid1TitleClick(TColumn *Column) {
  AnsiString FName = Column->FieldName;

  tuQuery->Close();
  tuQuery->SQL->Text = "SELECT * FROM TU_TABLA ORDER BY " + FName;
  tuQuery->Open();
}
...

Saludos.


La franja horaria es GMT +2. Ahora son las 12:03:47.

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