![]() |
DBGrid sortieren nach Spalte und Ab- oder Aufwärts
Hallo,
ich habe noch eine Ergänzung zum folgenden Eintrag in der Code-Library: ![]() --- Hi mit diesem Code läßt sich nach mehreren Spalten gemischt auf- und absteigend sortieren. Übergeben wird ein String Array im Format ['Feldname-1 ASC|DESC, ',..,'Feldname-n ASC|DESC, ']. Z.b ['Kundenname ASC, ', 'Datum DESC, ']. Eine existierende ORDER BY wird in der letzten Zeile des SQL vermutet und aus dieser vor dem Neuerzeugen gelöscht. Bitte auf die Roten Komma mit der Leerstelle am Ende jedes Strings achten!
Delphi-Quellcode:
procedure ApplySortToQuery(AQuery: TQuery; ASortArray: array of string);
var I: Integer; ASortString, AFilter: string; begin ASortString := ''; for I := 0 to High(ASortArray) do ASortString := ASortString + ASortArray[I]; // Achtung, die letzten zwei Zeichen werden gelöscht! System.Delete(ASortString, Length(ASortString)-1, 2); AFilter := AQuery.Filter; try AQuery.DisableControls; AQuery.Close; AQuery.Filter := ''; if pos('order by', AQuery.SQL.Strings[AQuery.SQL.Count-1]) > 0 then AQuery.SQL.Delete(AQuery.SQL.Count-1); if ASortString <> '' then ASortString := 'order by ' + ASortString; AQuery.SQL.Add(ASortString); finally AQuery.Open; AQuery.Filter := AFilter; AQuery.EnableControls; end; end; |
Re: DBGrid sortieren nach Spalte und Ab- oder Aufwärts
Zitat:
|
Re: DBGrid sortieren nach Spalte und Ab- oder Aufwärts
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz