Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Datenraster-Steuerelement enthält Spalten, die wiederum Kopfzeilen und beliebige andere Steuerelemente enthalten können. Standardmäßig ist in einer Spalte ein Textfeld als Steuerelement enthalten, so dass die Standardfunktionalität des Datenraster-Steuerelements der eines Datenblattfensters ähnelt. Die zugrunde liegende Architektur eines Datenblatt-Steuerelements öffnet es jedoch zu endloser Dehnbarkeit.
Im folgenden Beispiel wird ein Formular erstellt, das ein Datenblattobjekt mit zwei Spalten enthält. Die zweite Spalte enthält ein Kontrollkästchen, um die Werte aus einem logischen Feld der Tabelle anzuzeigen.
Datenblatt-Steuerelement mit einem Kontrollkästchen in einer Spalte
.gif)
Definition einer Datenblattklasse mit einem Kontrollkästchen in einer Datenblattspalte
| Code | Kommentar |
|---|---|
|
Beginn der Klassendefinition; stellt die Eigenschaften ein, die die Darstellung des Datenrasters bestimmen. Wenn Sie die ColumnCount-Eigenschaft auf 2 setzen, dann fügen Sie zwei Spalten in das Datenraster-Steuerelement ein. Jede Spalte enthält eine Kopfzeile mit dem Namen "Header1". Darüber hinaus hat jede Spalte eine unabhängige Gruppe von Eigenschaften, die die jeweilige Darstellung und das Verhalten bestimmen. |
|
Wenn Sie die ControlSource-Eigenschaft einer Spalte einstellen, zeigt die Spalte die Werte dieses Feldes für alle Datensätze in der Tabelle an.Discontinu ist ein logisches Feld. |
|
Column2 enthält das Kontrollkästchen. Setzt die Sparse-Eigenschaft der Spalte auf .F., wodurch das Kontrollkästchen in allen Zeilen sichtbar ist, nicht nur in der ausgewählten Zelle. |
|
Legt die Spaltenbreiten und die Header-Beschriftungen fest. Über die AddObject-Methode können Sie ein Objekt zu einem Container hinzufügen, in diesem Falle ein Kontrollkästchen mit der Bezeichnung chk1.Legen Sie die CurrentControl-Eigenschaft der Spalte auf das Kontrollkästchen fest, damit dieses angezeigt wird. Sorgen Sie dafür, dass das Kontrollkästchen sichtbar ist. Legen Sie als Beschriftung eine leere Zeichenfolge fest, damit die Standardüberschrift "chk1" nicht angezeigt wird. |
|
Ende der Klassendefinition. |
Die folgende Klassendefinition ist das Formular, das das Datenblatt-Steuerelement enthält. Beide Klassendefinitionen können in die gleiche Programmdatei eingefügt werden.
Definition einer Formularklasse, die die Datenblattklasse enthält
| Code | Kommentar |
|---|---|
|
Erstellt eine Formularklasse und fügt dieser ein auf der Datenrasterklasse basierendes Objekt hinzu. |
|
Das Programm, in dem ein Objekt dieser Klasse erstellt wird, verwendet READ EVENTS. Durch das Einschließen von CLEAR EVENTS in das Destroy-Ereignis des Formulars kann das Programm beendet werden, wenn der Benutzer das Formular schließt. Ende der Klassendefinition. |
Das folgende Programm öffnet die Tabelle mit den in den Datenblattspalten anzuzeigenden Feldern, erstellt ein auf der GridForm-Klasse basierendes Objekt und gibt den Befehl READ EVENTS aus:
CLOSE DATABASE
OPEN DATABASE (HOME(2) + "data\testdata.dbc")
USE products
frmTest= CREATEOBJECT("GridForm")
frmTest.Show
READ EVENTS
Dieses Programm kann in die gleiche Datei wie die Klassendefinitionen aufgenommen werden, wenn es am Anfang der Datei platziert wird. Sie könnten auch den Befehl SET PROCEDURE TO verwenden, um das Programm mit den Klassendefinitionen anzugeben, und diesen Code dann in einem separaten Programm unterbringen.
Siehe auch
Programmgesteuertes Schreiben von Klassendefinitionen | Erstellen eines Satzes von Tabellennavigationsschaltflächen | Erstellung eines Objektverweises | Datenblattfenster | Sparse | AddObject | CurrentControl | Objektorientierte Programmierung