Ver Mensaje Individual
  #19  
Antiguo 04-03-2009
jorge82 jorge82 is offline
Baneado
 
Registrado: jun 2005
Ubicación: Mérida, Yucatán, México
Posts: 75
Reputación: 19
jorge82 Va por buen camino
Bueno esto es lo que yo uso para ordenar en un DBGrid utilizando ClientDataSets.

Código Delphi [-]
procedure TForm1.DBGridTitleClick(Column: TColumn);
var
  Campo: string;
begin
  try
    Campo := Column.FieldName;
    with Column.Grid.DataSource.DataSet as TClientDataSet do
      if IndexFieldNames <> Campo then
        IndexFieldNames := Campo // Ascendente
      else
      begin
        AddIndex(Campo, Campo, [], Campo); // Descendente
        IndexName := Campo;
      end;
  except // Para que no salte una excepción si la columna es un campo calculado.
  end;
end;

Esto es gracias a que el ClietDataSet permite crear índices en memoria en tiempo de ejecucíon (Sin crearlos en la base de datos, claro). Espero que a alguien le sirva.
__________________
Un saludito.
Responder Con Cita