Hai,
ich habe da noch eine Idee.
Die Sortierreihenfolge wird nur geändert wenn mann nocheinmal auf die selbe Titelspalte klickt.
Ansonsten wird bei selber reihenfolge nur das Sortierfeld geändert.
bSortOrder und sSortColumn sollten natürlich im OnCreate initialisiert werden.
Delphi-Quellcode:
var
bSortOrder: Boolean;
sSortColumn: string;
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
if Column.FieldName <> sSortColumn then
begin
sSortColumn := Column.FieldName;
end
else
begin
bSortOrder := not bSortOrder;
end;
ADODataSet1.Close;
if bSortOrder then
begin
ADODataSet1.CommandText := 'SELECT * FROM Table ORDER BY ' + sSortColumn;
end
else
begin
ADODataSet1.CommandText := 'SELECT * FROM Table ORDER BY ' + sSortColumn + ' DESC';
end;
ADODataSet1.Open;
end;
[edit=Matze]Code formatiert. Mfg, Matze[/edit]
Stephan B.
"Lasst den Gänsen ihre Füßchen"