Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBgrid-Sortierung (https://www.delphipraxis.net/4401-dbgrid-sortierung.html)

Hansa 27. Apr 2003 15:27


DBgrid-Sortierung
 
Hi,

wenn ich in einem Grid die Titelzeile anklicke, kann doch die Sortierreihenfolge geändert werden. Ich finde aber nur OnCellClick usw. wo muß das eingebaut werden?

woki 27. Apr 2003 16:49

Hallo,

das Ereignis auf das Du in einem DBGrid reagieren mußt, heißt onTitleClick.

Für die Sortierung mußt Du aber die Fähigkeiten des verbundenen Datasets verwenden, das DBGrid zeigt wirklich nur Daten an.

Tschüss
Wolfgang

Hansa 27. Apr 2003 17:03

Das kommt davon, wenn man die Events nicht bis zum bitteren Ende durchcheckt. Es ist das vorletzte. 8) Das order-by muß natürlich angepaßt werden. Das ist klar. Wo gibts ein gutes Beispiel ? Das könnte alles sehr komplex werden. Ich will so vorgehen, daß beim klicken auf die Titelzeile nach der entsprechenden Spalte sortiert wird. Wi komme ich nun an die Spalte ? Die Zeile alleine nützt mir doch nichts, oder ?

DelphiDeveloper 27. Apr 2003 17:06

Sortierung im Grid
 
Mit dem OnTitleClick habe ich auch früher gearbeitet.
Seit ich aber IBObjects kenne geht das kinderleicht.

IBObjects sind für mich die besten nativen Interbase/Firebird Komponenten. Lohnt sich wirklich.

Für nicht kommerzielle Zwecke gibt es auch eine kostenlose Vollversion
www.ibobjects.com

Im übrigen ist der Entwickler von ibobjects auf der diesjährigen europäischen firebird Konferenz im Mai in Fulda.
Schaut doch mal bei http://www.firebird-conference.com vorbei.

Kommen einige Leute aus dem Forum hier zur firebird Konferenz?

woki 27. Apr 2003 17:28

Hi,

es die die zugehörige Column-Komponente als Parameter übergeben, und dann geht es so weiter:

Column.Field.DataSet etc..


Tschüss
Wolfgang

Hansa 27. Apr 2003 17:37

wie, wo was ? wo ist da ein Parameter?

[edit=Daniel B]Doppelpost gelöscht. MfG Daniel B.[/edit]

woki 27. Apr 2003 17:44

Hi,

der Rumpf der von Delphi erzeugten Ereignisbehandlungsroutine

Code:
procedure TForm5.DBGrid1TitleClick([size=18]Column: TColumn[/size]);
begin
  Column.Field.DataSet
end;

Sharky 27. Apr 2003 17:45

Zitat:

Zitat von Hansa
wie, wo was ? wo ist da ein Parameter?

Ei da:

Delphi-Quellcode:
procedure TFRM_Main.DBGrid1TitleClick(Column: TColumn);
 begin
  Query1.Close;
  Query1.SQL.Text := 'SELECT * FROM tabelle ORDER BY '
   + Column.FieldName;
  Query1.Open;
 end;
Das ist natürlich die minni lösung. Aber als Lösungsansatz sollte es reichen.

Hansa 27. Apr 2003 17:54

Die Mini-Lösung reicht doch fast schon aus. Und den Parameter Column habe ich leider übersehen. :shock:

@Sharky: Hast zufällig Du mir mal das mit dem Page-Control und den Frames erklärt? Finde den Beitrag nicht mehr.

Sharky 27. Apr 2003 17:58

Zitat:

Zitat von Hansa
Die Mini-Lösung reicht doch fast schon aus. Und den Parameter Column habe ich leider übersehen.

Mini ist es weil:
  • Die Sortierrichtung nicht geändert werden kann.
    Nicht angezeigt wird nach welcher Spalte Sortiert wird (Pfeil auf / ab)

Aber das ist leich einzufügen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.
Seite 1 von 3  1 23      

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