Zur Laufzeit auf Benutzeraktionen reagieren
Nach oben zu Daten mit TDBGrid anzeigen und bearbeiten
Sie können das Verhalten eines Gitters ändern, indem Sie Ereignisbehandlungsroutinen schreiben, die zur Laufzeit auf bestimmte Aktionen im Gitter reagieren. Da ein Gitter normalerweise mehrere Felder und Datensätze gleichzeitig anzeigt, können sehr spezielle Anforderungen hinsichtlich der Änderungen in einzelnen Spalten vorliegen. So kann es erforderlich sein, eine Schaltfläche an einer beliebigen Position im Formular zu aktivieren bzw. zu deaktivieren, wenn der Benutzer den Fokus einer bestimmten Spalte zuordnet bzw. dieser entzieht.
Die folgende Tabelle führt die Gitterereignisse auf, die im Objektinspektor verfügbar sind.
Gitterereignisse:
Ereignis | Beschreibung |
---|---|
OnCellClick |
Tritt auf, wenn der Benutzer auf eine Zelle im Gitter klickt. |
OnColEnter |
Tritt auf, wenn der Benutzer den Cursor in eine Spalte im Gitter verschiebt. |
OnColExit |
Tritt auf, wenn ein Benutzer eine Spalte im Gitter verlässt. |
OnColumnMoved |
Tritt auf, wenn ein Benutzer eine Spalte an eine neue Position verschiebt. |
OnDblClick |
Tritt auf, wenn ein Benutzer im Gitter doppelklickt. |
OnDragDrop |
Tritt auf, wenn ein Benutzer Komponenten im Gitter zieht und ablegt. |
OnDragOver |
Tritt auf, wenn ein Benutzer den Mauszeiger über das Gitter zieht. |
OnDrawColumnCell |
Tritt auf, wenn eine Anwendung einzelne Zellen zeichnen muss. |
OnDrawDataCell |
(Veraltet) Tritt auf, wenn eine Anwendung einzelne Zellen zeichnen muss, und State den Wert csDefault enthält. |
OnEditButtonClick |
Tritt auf, wenn der Benutzer auf eine Ellipsen-Schaltfläche in einer Spalte klickt. |
OnEndDrag |
Tritt auf, wenn ein Benutzer das Ziehen mit der Maus im Gitter beendet. |
OnEnter |
Tritt auf, wenn das Gitter den Fokus erhält. |
OnExit |
Tritt auf, wenn das Gitter den Fokus abgibt. |
OnKeyDown |
Tritt auf, wenn ein Benutzer eine Taste oder eine Tastenkombination drückt, während sich der Zeiger im Gitter befindet. |
OnKeyPress |
Tritt auf, wenn der Benutzer eine einzelne alphanumerische Taste drückt, während sich der Zeiger im Gitter befindet. |
OnKeyUp |
Tritt auf, wenn ein Benutzer eine Taste loslässt, während das Gitter den Fokus besitzt. |
OnStartDrag |
Tritt auf, wenn der Benutzer beginnt, etwas mit der Maus über das Gitter zu ziehen. |
OnTitleClick |
Tritt auf, wenn der Benutzer auf einen Spaltentitel klickt. |
Diese Ereignisse können zu unterschiedlichen Zwecken genutzt werden. Sie können beispielsweise eine Ereignisbehandlungsroutine für Controls.OnDblClick schreiben, die eine Liste zur Auswahl eines Wertes durch den Benutzer anzeigt. Der ausgewählte Wert kann dann in die Spalte eingetragen werden. Eine solche Ereignisbehandlungsroutine kann auf die Eigenschaft SelectedField zugreifen, um die aktuelle Zeile und Spalte zu ermitteln.