Einzelnen Beitrag anzeigen

toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#1

Sortierung DBGrid mit Datasource ClientDataSet

  Alt 19. Nov 2007, 10:38
Datenbank: Interbase • Zugriff über: TClientDataSet
Hallo Leute

Folgende Prozedur hab ich jeweils verwendet um eine DBGRid zu sortieren welche jedoch mit den ADO Komponenten zur DB verbunden war. Nun hab ich aber den Fall, dass ich TClientDataSet verwenden mit angehängter TSQLQuery.
Diese Prozedur funktioniert so leider nicht mehr weil die Funktion SORT nicht erkannt wird von TCLientDataSet. Gibts eine Alternative? Oder wie könnte ich eine Sortierung lösen?

Delphi-Quellcode:
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
{$J+}
 const PreviousColumnIndex : integer = -0;
{$J-}
begin
  if DBGrid1.DataSource.DataSet is TCustomADODataSet then
  with TCustomADODataSet(DBGrid1.DataSource.DataSet) do
  begin
    try
      DBGrid1.Columns[PreviousColumnIndex].title.Font.Style :=
      DBGrid1.Columns[PreviousColumnIndex].title.Font.Style - [fsBold];
    except
    end;

    Column.title.Font.Style :=
    Column.title.Font.Style + [fsBold];
    PreviousColumnIndex := Column.Index;

    if (Pos(Column.Field.FieldName, Sort) = 1) and (Pos(' DESC', Sort)= 0) then
      Sort := Column.Field.FieldName + ' DESC'
    else
      Sort := Column.Field.FieldName + ' ASC';
  end;
end;
  Mit Zitat antworten Zitat