Autor Beitrag
rob87
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: Mo 17.11.08 17:32 
Hallo zusammen,

ich hab mal ne kurze Frage: Ich möchte, wenn ich in einem DBGrid einen Datensatz anklicke, eine Aktion starten. Ich hab das soweit in der Eigenschaft "OnDBGrid1CellClick" hinterlegt. Allerdings wird mir dieses Ereignis nicht ausgeführt, wenn ich mit der Maus durch die Datensätze scrolle.

Was muss ich den wählen, dass ich beide Bereiche abgedeckt hab? OnEnter hab ich auch schon erfolglos probiert.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 17.11.08 17:49 
Reagiere auf z.B. AfterScroll des zugrundeliegenden TDataset.
rob87 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: Mo 17.11.08 17:59 
user profile iconDeddyH hat folgendes geschrieben Zum zitierten Posting springen:
Reagiere auf z.B. AfterScroll des zugrundeliegenden TDataset.

Wird schwierig, da mehrere Komponenten darauf zugreifen
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 17.11.08 18:06 
Eine DBGrid stellt ja nur Daten aus einem Dataset optisch dar. Eine Änderung des aktuellen Datensatzes solltest Du also "an der Quelle" abgreifen.
rob87 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: Mo 17.11.08 18:34 
user profile iconDeddyH hat folgendes geschrieben Zum zitierten Posting springen:
Eine DBGrid stellt ja nur Daten aus einem Dataset optisch dar. Eine Änderung des aktuellen Datensatzes solltest Du also "an der Quelle" abgreifen.


Ich will ja nix ändern. Ich will ja lediglich, dass wenn des Mausrad weiterläuft, eine Aktion uasgeführt wird (Aktualisieren einer Anzeige). Wenn ich in meinem DBGrid einen CellClick mach, macht er ja, was er soll. Aber ned bei einem Wechsel des Datensatzes mit dem Mausrad...
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 17.11.08 18:38 
Sry, ich habe mich da missverständlich ausgedrückt. Ich meinte mit "Änderung des aktuellen Datensatzes" kein Bearbeiten, sondern das Scrollen innerhalb der Datenmenge, so dass ein anderer Datensatz zum aktuellen wird.
rob87 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: Di 18.11.08 12:02 
user profile iconDeddyH hat folgendes geschrieben Zum zitierten Posting springen:
Sry, ich habe mich da missverständlich ausgedrückt. Ich meinte mit "Änderung des aktuellen Datensatzes" kein Bearbeiten, sondern das Scrollen innerhalb der Datenmenge, so dass ein anderer Datensatz zum aktuellen wird.


Hmmm.. Aber trotzdem leuchtet mir des noch ned ganz ein. Es is doch eigentlich nur ein "OnCellClick-Ereignis", auch wenn ich mit dem Mausrad den Datensatz umpositionier.
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Di 18.11.08 12:11 
Spendiere dem Grid doch einfach eine eigene TDatasource und werte dort das OnDataChange-Ereignis aus. Wenn das übergebene Feld 'Nil' ist, dann wurde der Datensatz gewechselt.

Alternativ kannst Du auch datensensitive Steuerelemente verwenden.

_________________
Na denn, dann. Bis dann, denn.
rob87 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: Di 18.11.08 13:00 
user profile iconalzaimar hat folgendes geschrieben Zum zitierten Posting springen:
Spendiere dem Grid doch einfach eine eigene TDatasource und werte dort das OnDataChange-Ereignis aus. Wenn das übergebene Feld 'Nil' ist, dann wurde der Datensatz gewechselt.


Merci. Hat funktioniert. Danke... :) :)