AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DBGrid sortieren nach Spalte und Ab- oder Aufwärts
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid sortieren nach Spalte und Ab- oder Aufwärts

Ein Thema von Union · begonnen am 8. Aug 2004 · letzter Beitrag vom 8. Aug 2004
Antwort Antwort
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#1

DBGrid sortieren nach Spalte und Ab- oder Aufwärts

  Alt 8. Aug 2004, 00:37
Hallo,
ich habe noch eine Ergänzung zum folgenden Eintrag in der Code-Library:
dbgrid AND sortieren AND nachdbgrid AND sortieren AND nach
---
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;
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: DBGrid sortieren nach Spalte und Ab- oder Aufwärts

  Alt 8. Aug 2004, 01:34
Zitat von Union:
mit diesem Code läßt sich nach mehreren Spalten gemischt auf- und absteigend sortieren.
Könntest du das mal etwas näher erläutern ? Was soll das ganze ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: DBGrid sortieren nach Spalte und Ab- oder Aufwärts

  Alt 8. Aug 2004, 06:00
Zitat von Hansa:
Zitat von Union:
mit diesem Code läßt sich nach mehreren Spalten gemischt auf- und absteigend sortieren.
Könntest du das mal etwas näher erläutern ? Was soll das ganze ?
In dem Library Eintrag ging es darum, nach beliebigen Feldern im Grid zu sortieren. Und da wollte ich diese Methode beisteuern, wie es auch nach mehreren Feldern geht, da sich die vorherigen Vorschläge immer nur auf ein Feld bezogen 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 04:20 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