AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DBGrid Einträge Ordnen
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid Einträge Ordnen

Ein Thema von Delphi Code Anfänger · begonnen am 10. Mär 2008 · letzter Beitrag vom 11. Mär 2008
Antwort Antwort
Delphi Code Anfänger

Registriert seit: 30. Jan 2008
72 Beiträge
 
#1

DBGrid Einträge Ordnen

  Alt 10. Mär 2008, 19:25
Datenbank: access • Zugriff über: ado
Hallo,

ich habe ein kleines Problem. Ich ordne mit folgendem Code die Einträge in meinem DBGrid:

Delphi-Quellcode:
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;
Den habe ich irgendwo hier aus dem Forum.

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?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: DBGrid Einträge Ordnen

  Alt 10. Mär 2008, 19:27
Setzte jedesmal den ganzen Query neu
Markus Kinzler
  Mit Zitat antworten Zitat
Delphi Code Anfänger

Registriert seit: 30. Jan 2008
72 Beiträge
 
#3

Re: DBGrid Einträge Ordnen

  Alt 10. Mär 2008, 19:29
Habe ich mir auch so gedacht. Nur wie?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: DBGrid Einträge Ordnen

  Alt 10. Mär 2008, 19:34
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;
Markus Kinzler
  Mit Zitat antworten Zitat
Delphi Code Anfänger

Registriert seit: 30. Jan 2008
72 Beiträge
 
#5

Re: DBGrid Einträge Ordnen

  Alt 10. Mär 2008, 19:52
Klasse Danke! Läuft Perfekt.
  Mit Zitat antworten Zitat
Peinhard

Registriert seit: 8. Jul 2006
152 Beiträge
 
#6

Re: DBGrid Einträge Ordnen

  Alt 11. Mär 2008, 17:01
Wenn du mit client-seitigem Cursor arbeitest, kannst du auf den erneuten SELECT auch verzichten, siehe hier:

http://www.delphipraxis.net/internal...=588912#588912
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: DBGrid Einträge Ordnen

  Alt 11. Mär 2008, 17:50
Zitat von Peinhard:
Wenn du mit client-seitigem Cursor arbeitest, kannst du auf den erneuten SELECT auch verzichten, siehe hier:

http://www.delphipraxis.net/internal...=588912#588912
Geht das auch ohne ADO?
z.B. mit ZEOS?
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Peinhard

Registriert seit: 8. Jul 2006
152 Beiträge
 
#8

Re: DBGrid Einträge Ordnen

  Alt 11. Mär 2008, 18:00
Da bin ich überfragt, weil ich die nicht kenne. Aber wenn sie ein Property Sort odgl haben...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz