DBGrid: Aktuelle Zeile in Label anzeigen - Wie?
-
Hallo Zusammen,
ich habe ein DBGrid in der meine Daten aus einer MySQL-DB angezeigt werden. Das funktioniert auch. In dem Grid bewege ich mich mit den Pfeiltasten. RowSelect ist auf false.Ich möchte jetzt, dass in einem Label angezeigt in welcher Zeile ich mich gerade befinde. Das habe ich jetzt so gelöst:
Label33->Caption = DataModule1->sql_aktuelle_db->RecNo;
Allerdings weiß ich momentan nicht, in welche Methode ich den Befehl einbaue. Wenn ich OnCellEnter nehme wird mir die Zeile zwar angezeigt. Aber wenn ich eine Zeile runter gehe mit den Pfeiltasten dann wird die neue Zeilennummer erst angezeigt, wenn ich eine Zelle nach links oder rechts gehe.
In welcher Methode muss ich den Befehl einbauen?
In OnCellClick habe ich es eingebaut für den Mausklick. Da funktioniert es. Mir gehts jetzt um den Zeilenwechsel per Tastatur.Danke im voraus.
-
Hallo
Dafür solltest du nicht die Events des DBGrids verwenden, sondern die Events der dahinterliegenden TDataSource.
Builder-Hilfe zu TDataSource::OnDataChange schrieb:
In einer Ereignisbehandlungsroutine für OnDataChange können spezifische Aktionen durchgeführt werden, wenn ein Feld im aktuellen Datensatz geändert wurde und in der Anwendung von einem Feld bzw. Datensatz zu einem anderen der zugeeordneten Datenmenge gewechselt wird.
...
Die datensensitiven Steuerelemente benachrichtigen eine Datenquelle von einer Datenänderung in folgenden Fällen:Wechseln zu einem neuen Datensatz.
bis bald
akari