|
01.11.2009
Datensatz in ein Formular übertragen
Für dieses Beispiel benötigen Sie die Beispiel-Datenbank FAHRZEUGE und das Projekt fahrzeuge.xdev.
Um einen in der Table markierten Datensatz in ein Formular zu übertragen, müssen Sie zuerst die Zeile des Datensatzes in der Table ermitteln. Dazu bietet Ihnen die Table die Methode getSelectedRow ( ) | XDEV NLS: holeSelektierteZeile ( ). Mit der bekannten Zeilennummer lässt sich der Datensatz anschließend mit Hilfe der Formular-Methode fillFromVT (VirtualTable vt, Int row) | XDEV NLS: fülleAusVT (VirtuelleTabelle vt, Ganzzahl zeile) in das Formular übertragen.
Fortsetzung des Beispiels Table mit Daten füllen:
| 7. | Erstellen Sie ein Formular für die Virtuelle Tabelle #FAHRZEUGE. Achten Sie darauf, dass Sie die Formular-Komponenten mit den dazugehörigen Datenfelder verknüpft werden müssen. |
| 8. | Klicken Sie die Table an und wechseln Sie in die Code-Ansicht. |
| 10. | Definieren Sie eine Ganzzahl-, bzw. Int-Variable row | XDEV NLS: selektierteZeile und weisen Sie dieser die Methode getSelectedRow ( ) | XDEV NLS: holeSelektierteZeile ( ) zu, die Sie in der Bibliothek finden wenn Sie die Table anklicken. |
Die Methode gibt den Index der ausgewählten Zeile als Ganzzahl zurück. Die erste Zeile hat den Index 0.
| 11. | Klicken Sie das Formular an und ziehen Sie die Methode fillFromVT ( ) | XDEV NLS: fülleAusVT ( ) in den Code-Editor. Geben Sie im folgenden Dialog die Virtuelle Tabelle #FAHRZEUGE, sowie die Variable row | XDEV NLS: selektierteZeile als Parameter an und klicken Sie auf OK. |
Einstieg: Komponente Table, Ereignis ON_SELECTION_CHANGE ( ) | XDEV NLS: Bei Änderung Auswahl ( ).
1
2
3
4
5
|
ON_SELECTION_CHANGE ( )
{
Int row = this.getSelectedRow();
Formular.fillFromVT(#FAHRZEUGE, row);
}
|
ON_SELECTION_CHANGE ( )
Der nachfolgende Code wird ausgeführt, wenn sich bei der Komponente die Selektierung ändert. Die Selektierung ändert sich nicht nur, wenn eine Zeile angeklickt wird, sondern auch wenn die Selektierung der Zeile automatisch aufgehoben wird, u.a. wenn die Table den Focus verliert weil eine andere Komponente angeklickt wurde.
Int row = this.getSelectedRow();
Der Index der Selektierten Zeile in der Table wird ermittelt und in der Variable row gespeichert. Der Index beginnt immer bei 0.
Formular.fillFromVT(#FAHRZEUGE, row);
Das Formular wird mit den Daten aus der in row gespeicherten Zeile der Virtuellen Tabelle #FAHRZEUGE gefüllt.
|
|
1
2
3
|
ON_SELECTION_CHANGE ( )
Int row = this.getSelectedRow();
Formular.fillFromVT(#FAHRZEUGE, row);
|
ON_SELECTION_CHANGE ( )
Der nachfolgende Code wird ausgeführt, wenn sich bei der Komponente die Selektierung ändert. Die Selektierung ändert sich nicht nur, wenn eine Zeile angeklickt wird, sondern auch wenn die Selektierung der Zeile automatisch aufgehoben wird, u.a. wenn die Table den Focus verliert weil eine andere Komponente angeklickt wurde.
Int row = this.getSelectedRow();
Der Index der Selektierten Zeile in der Table wird ermittelt und in der Variable row gespeichert. Der Index beginnt immer bei 0.
Formular.fillFromVT(#FAHRZEUGE, row);
Das Formular wird mit den Daten aus der in row gespeicherten Zeile der Virtuellen Tabelle #FAHRZEUGE gefüllt.
|
|
1
2
3
|
Bei Änderung Auswahl ( )
Ganzzahl selektierteZeile = Lokal\holeSelektierteZeile( )
Formular\fülleAusVT ( #FAHRZEUGE, selektierteZeile )
|
Bei Änderung Auswahl ( )
Der nachfolgende Code wird ausgeführt, wenn sich bei der Komponente die Selektierung ändert. Die Selektierung ändert sich nicht nur, wenn eine Zeile angeklickt wird, sondern auch wenn die Selektierung der Zeile automatisch aufgehoben wird, u.a. wenn die Table den Focus verliert weil eine andere Komponente angeklickt wurde.
Ganzzahl selektierteZeile = Lokal\holeSelektierteZeile( )
Der Index der Selektierten Zeile in der Table wird ermittelt und in der Variable selektierteZeile gespeichert. Der Index beginnt immer bei 0.
Formular\fülleAusVT ( #FAHRZEUGE, selektierteZeile );
Das Formular wird mit den Daten aus der in selektierteZeile gespeicherten Zeile der Virtuellen Tabelle #FAHRZEUGE gefüllt.
|
|
|