![]() |
Datenbank: access • Zugriff über: ado
DBGrid Einträge Ordnen
Hallo,
ich habe ein kleines Problem. Ich ordne mit folgendem Code die Einträge in meinem DBGrid:
Delphi-Quellcode:
Den habe ich irgendwo hier aus dem Forum.
procedure TForm6.DBGrid1TitleClick(Column: TColumn);
begin try sSortColumn := DBGrid1.Columns.Items[Column.Index].FieldName; if sSortColumn = sOldSortColumn then begin if sSortOrder =' DESC ' then sSortOrder := ' ASC ' else sSortOrder := ' DESC '; end else sSortOrder := ' ASC '; sOldSortColumn := sSortColumn; Form5.Query.SQL.Text:=Form5.Query.SQL.Text+'ORDER BY '+sSortColumn+sSortOrder; //ShowMessage(Form5.Query.SQL.Text); Form5.Query.Open; except end; end; Kurze Erklärung: In Form5 habe ich eine Query deren Ergebnisse in Form6 in einem DBGrid angezeigt werden. Wenn man auf eine Spalte im DBGrid klickt wird sie geordnet. Ihr seht ja wie sich die Query oben zusammen setzt. Beim ersten mal Sortieren klappt das wunder bar. Beim zweiten mal nicht mehr. Habe mir dann schnell mit ShowMessage alles ausgeben lassen. Und heraus kam das er diesen Teil noch mal hintersetzt: 'ORDER BY '+sSortColumn+sSortOrder Dann habe ich in einem SELECT zwei mal ORDER BY. Das geht natürlich nicht. Er hängt mit jedem klick noch mal ein ORDEr BY an. Was kann ich da machen? |
Re: DBGrid Einträge Ordnen
Setzte jedesmal den ganzen Query neu
|
Re: DBGrid Einträge Ordnen
Habe ich mir auch so gedacht. Nur wie?
|
Re: DBGrid Einträge Ordnen
Speichere die Abfrage ohne Sortierung vorher ab.
Delphi-Quellcode:
if sAbfrage = '' then sAbfrage := Form5.Query.SQL.Text;
Form5.Query.SQL.Text:= sAbfrage +' ORDER BY '+sSortColumn+sSortOrder; |
Re: DBGrid Einträge Ordnen
Klasse Danke! Läuft Perfekt. :-D
|
Re: DBGrid Einträge Ordnen
Wenn du mit client-seitigem Cursor arbeitest, kannst du auf den erneuten SELECT auch verzichten, siehe hier:
![]() |
Re: DBGrid Einträge Ordnen
Zitat:
z.B. mit ZEOS? |
Re: DBGrid Einträge Ordnen
Da bin ich überfragt, weil ich die nicht kenne. Aber wenn sie ein Property Sort odgl haben...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:40 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