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;