Autor Beitrag
waldmeister
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

Win XP
D7 Enterp
BeitragVerfasst: Mi 02.04.03 13:56 
wie ich sortiere, das weiß ich schon:

ausblenden Quelltext
1:
table1.indexname:='idxname';					


Wie kann ich das jetzt machen, dass sich der index ändert abhängig von der Spalte auf die ich klicke! also wenn ich auf die Spalte 'name' klicke soll idxname geladen werden, wenn ich auf die spalte 'vorname' klicke soll der idxvorname geladen werden...ich hoffe ihr versteht was ich will!

_________________
der wald....der meister....der meister des waldes....der waldmeister
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mi 02.04.03 14:05 
Du verwendest ein DBGrid? Da gibts ein Ereignis OnTitleClick. Das übergibt Dir die angeklickte Column wo Du mit Column.Filedname bzw. Column.Caption den feldnamen bzw. die Caption des Feldes abfragen kannst.

Das kannste dazu nehmen. Wenn Du aber noch auf und absteigend sortieren willst, dann musst ne Variable noch dazu nehmen
delphiDeveloper
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48



BeitragVerfasst: Mi 02.04.03 15:29 
Titel: Arbeitest du mit Interbase oder Firebird
Für o.a. DB's gibt es eine Komponentensuite www.IBObjects.com
Das DB ControlGrid dort arbeitet mit OrderingLinks, die automatisch
in der Titelzeile des Grids samt Icons für rauf und runter gesetzt werden.
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mi 02.04.03 16:12 
Aber die kosten soweit ich gesehen und ehrlich gesagt: Ich versuch Fremdkomponenten wenn's nicht unbedingt notwendig ist, zu vermeiden, denn wenn ich dann afm Laptop oder so weitermachen will, muss ich erst wieder die ganzen komponenten nachinstallieren und dann geht wieder dies und das net, das is mir zu stressig. Und dann erst bei ner Neuinstallation.... oh mein Gott.....
waldmeister Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

Win XP
D7 Enterp
BeitragVerfasst: Mi 02.04.03 17:18 
danke für die antwort, werd das ma austesten

_________________
der wald....der meister....der meister des waldes....der waldmeister
SQLException
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 89

WinXP + D5 Enterprise
Win2k + D6 Personal
BeitragVerfasst: Di 11.01.05 10:02 
UGrohne hat folgendes geschrieben:
Das kannste dazu nehmen. Wenn Du aber noch auf und absteigend sortieren willst, dann musst ne Variable noch dazu nehmen


wie geht das dann bitte :?:
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: Di 11.01.05 10:07 
hallo SQLException!

wie das funktionieren soll?
ganz einfach - durch den OnTitleClickEvent eine procedure aufrufen, in welchem der index des dem DBGrid dahinterliegenden datasets umgeschaltet wird.

einfach 'OnTitleClick' hier im forum als suchbegriff eingeben und du bekommst beispiele bis zum abwinken zu diesem thema ;)

mfg, stefan


Zuletzt bearbeitet von grayfox am Di 11.01.05 11:34, insgesamt 1-mal bearbeitet
SQLException
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 89

WinXP + D5 Enterprise
Win2k + D6 Personal
BeitragVerfasst: Di 11.01.05 11:03 
OnTitleClick war schonmal gut. habe in einem anderen thread dann was von DESC gelesen, und nachforschungen haben ergeben, das nicht describe gemeint ist was ich erst dachte. das reicht also so schon, danke.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure THauptForm.DBGridTitleClick(Column: TColumn);
var
  spalte: String;
begin
  spalte := Column.FieldName;
  ADOQuery1.Active   := False;
  if aufsteigend then
  begin
    ADOQuery1.SQL.Text := 'Select * from bla Order by ' + spalte + '';
    aufsteigend := false;
  end
  else
  begin
    ADOQuery1.SQL.Text := 'Select * from bla Order by ' + spalte + '' + ' DESC';
    aufsteigend := true;
  end;
  ADOQuery1.Active   := True;
end;