Table Beispiele

Previous  Next

 

 

 

01.11.2009

Aktuellste Daten verwenden

Für dieses Beispiel benötigen Sie die Beispiel-Datenbank FAHRZEUGE und das Projekt fahrzeuge.xdev

 

Bei einer Multi-User-Anwendung können die aktuell sichtbaren Daten jederzeit von anderen Anwendern geändert werden, ohne dass die laufende Anwendung diese Veränderung mitbekommt. Um sicher zu gehen, dass tatsächlich ein aktueller Datensatz in das Formular übertragen wird, sollten Sie den selektierten Datensatz nicht aus der Virtuellen Tabelle auslesen, sondern nochmals von der Datenbank abfragen. Dazu benötigen Sie die ID dieses Datensatzes, die Sie mit Hilfe der Methode hmtoggle_plus1 getValueAt (Int row, String col) | XDEV NLS: holeWert (Ganzzahl zeile, Zeichenkette spalte) aus der selektierten Zeile auslesen können. Bei der Datenbankabfrage müssen Sie diese ID dann im SQL-Assistenten unter Schritt 3: Filter festlegen bei Bedingung als Bedingung angeben, z.B. #FAHRZEUGE.ID = ID.

 

 

hmtoggle_plus1XDEV Object Language

1

2

3

4

5

6

7

ON_SELECTION_CHANGE ( )

{

  Int row = this.getSelectedRow();

  Int ID = #FAHRZEUGE.getValueAt(row, #FAHRZEUGE.ID);

  XDEV Query #FAHRZEUGE << FAHRZEUGE;

  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.

 

Int ID = #FAHRZEUGE.getValueAt(row, #FAHRZEUGE.ID);

Mit Hilfe der ermittelten Zeilennummer row wird die ID des Datensatzes aus der Virtuellen Tabelle #FAHRZEUGE ausgelesen und in der Variable ID gespeichert.

 

XDEV Query #FAHRZEUGE << FAHRZEUGE;

Es erfolgt eine Abfrage der Datenbank-Tabelle #FAHRZEUGE. Als Bedingung wird die ID des in der Table selektierten Datensatzes angegeben, z.B. #FAHRZEUGE.ID = ID.

 

Formular.fillFromVT(#FAHRZEUGE, row);

Das Formular wird mit den Daten aus der in row gespeicherten Zeile der Virtuellen Tabelle #FAHRZEUGE gefüllt.

hmtoggle_plus1XDEV Basic

1

2

3

4

5

ON_SELECTION_CHANGE 

  Int row = this.getSelectedRow()

  Int ID = #FAHRZEUGE.getValueAt(row, #FAHRZEUGE.ID)

  XDEV Query #FAHRZEUGE << FAHRZEUGE

  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.

 

Int ID = #FAHRZEUGE.getValueAt(row, #FAHRZEUGE.ID)

Mit Hilfe der ermittelten Zeilennummer row wird die ID des Datensatzes aus der Virtuellen Tabelle #FAHRZEUGE ausgelesen und in der Variable ID gespeichert.

 

XDEV Query #FAHRZEUGE << FAHRZEUGE

Es erfolgt eine Abfrage der Datenbank-Tabelle #FAHRZEUGE. Als Bedingung wird die ID des in der Table selektierten Datensatzes angegeben, z.B. #FAHRZEUGE.ID = ID.

 

Formular.fillFromVT(#FAHRZEUGE, row)

Das Formular wird mit den Daten aus der in row gespeicherten Zeile der Virtuellen Tabelle #FAHRZEUGE gefüllt.

hmtoggle_plus1XDEV NLS

1

2

3

4

5

Bei Änderung Auswahl ( )

  Ganzzahl selektierteZeile = Lokal\holeSelektierteZeile( ) 

  Ganzzahl ID = #FAHRZUEGE\holeWert(selektierteZeile, #FAHRZEUGE\ID)

  XDEV Datenbankabfrage #FAHRZEUGE << FAHRZEUGE

  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.

 

Ganzzahl id = #FAHRZUEGE\holeWert(selektierteZeile, #FAHRZEUGE\ID)

Mit Hilfe der ermittelten Zeilennummer selektierteZeile wird die ID des Datensatzes aus der Virtuellen Tabelle #FAHRZEUGE ausgelesen und in der Variable ID gespeichert.

 

XDEV Datenbankabfrage #FAHRZEUGE << FAHRZEUGE

Es erfolgt eine Abfrage der Datenbank-Tabelle #FAHRZEUGE. Als Bedingung wird die ID des in der Table selektierten Datensatzes angegeben: #FAHRZEUGE.ID = ID.

 

Formular\fülleAusVT ( #FAHRZEUGE, selektierteZeile )

Das Formular wird mit den Daten aus der in selektierteZeile gespeicherten Zeile der Virtuellen Tabelle #FAHRZEUGE gefüllt.