Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi DBGrid Spalten sortieren mit ABSQuery ? (https://www.delphipraxis.net/80157-dbgrid-spalten-sortieren-mit-absquery.html)

mandoki 3. Nov 2006 19:12


DBGrid Spalten sortieren mit ABSQuery ?
 
Hallo,
verwende in Verbindung mit Absolute Database ein (Jedi) DBUltimaGrid und möchte nun das der Anwender die Spalten beliebig sortieren kann.
Habe dazu in der Code-Library dieses hier gefunden.
Allerdings werden in diesem Beispiel ADO-Komponenten verwendet, nun weiss ich nicht so recht wie ich das für die ABSQuery umsetzen kann.

Wäre für einen Tip dankbar. ;)

Gruß
mandoki

raiguen 4. Nov 2006 17:13

Re: DBGrid Spalten sortieren mit ABSQuery ?
 
Moin :-)
Nun, für den 'einfachen' Fall einer Sortierung, sprich: es wird nur nach einer Spalte bzw Feld sortiert, kannst du es bspw. so machen (in Anlehnung des 1.Beitrags aus dem hier ) :
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;
  ABSQuery1.Close;
  if bSortOrder then
  begin
    ABSQuery1.SQL.Text := 'SELECT * FROM Table ORDER BY ' + sSortColumn;
  end
  else
  begin
    ABSQuery1.SQL.Text := 'SELECT * FROM Table ORDER BY ' + sSortColumn + ' DESC';
  end;
  ABSQuery1.Open;
end;

mandoki 4. Nov 2006 22:11

Re: DBGrid Spalten sortieren mit ABSQuery ?
 
Moin Rainer
ups... da hätte ich ja eigentlich auch selbst drauf kommen können (müssen, sollen :roll:)
Vielen Dank für deine Hilfe :)

Gruß
mandoki


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 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-2025 by Thomas Breitkreuz