Ver Mensaje Individual
  #3  
Antiguo 18-04-2004
Tomás Tomás is offline
Miembro
 
Registrado: may 2003
Ubicación: Elche
Posts: 140
Reputación: 22
Tomás Va por buen camino
Puedes poner esto en el evento OnTitleClick:

Código:
procedure TFDatos.DBGProfesTitleClick(Column: TColumn);
var
  iX : integer;
  sOrden : string;
begin
  //orden según columna pinchada
  Case Column.Index Of
    0 : sOrden := 'NOMBRE, APELLIDOS';
    1 : sOrden := 'APELLIDOS, NOMBRE';
    2 : sOrden := 'ASIGNATURA, APELLIDOS, NOMBRE';
    3 : sOrden := 'SITUACION, APELLIDOS, NOMBRE';
  end;
  DM.IBDSProfes.Close;
  DM.IBDSProfes.SelectSQL.Text := 'Select * from PROFES order by '+sOrden;
  DM.IBDSProfes.Open;
  for iX := 0 to 3 do
    if Column.Index <> iX then
      DBGProfes.Columns.Items[iX].Color := clWhite
    else
      Column.Color := clCream;
end;
Siempre orden ascencendente, todos los registros seleccionados, tabla InterBase con IBXs.
Cambia el color de la columna seleccionada. En el evento OnCreate debes colorear la que está inicialmente ordenada, por ej.
Código:
DBGProfes.Columns.Items[1].Color := clCream;
Un saludo. Tomás.
Responder Con Cita