Wichtige Methoden der Virtuellen Tabelle

Previous  Next

 

 

 

Letzte Änderung 24.02.2010

Wichtigste Methoden der Virtuellen Tabelle

 

Funktion

Erklärung

Leere Zeile anhängen

hmtoggle_plus1 addRow( ) | XDEV NLS: fügeZeileHinzu( )

Hängt eine leere Zeile an die Virtuelle Tabelle an.

 

Daten aus Formular anhängen

hmtoggle_plus1 addRow(XdevFormular formular, Boolean synchronizeDB) | XDEV NLS: fügeZeileHinzu(XdevFormular formular, Wahrheitswert synchronisiereDB)

Liest alle Formular-Komponenten eines Formulars aus und hängt den Datensatz als neue Zeile an die Virtuelle Tabelle an. Wenn synchronizeDB gleich true ist, wird der neue Datensatz auch an die dazugehörige Datenbank-Tabelle angehängt. Damit die Daten übertragen werden können, müssen die Spaltennamen bei den Formular-Komponenten jeweils bei der Eigenschaft Datenfeld hinterlegt werden.

 

Alle Daten löschen

hmtoggle_plus1 clear( ) | XDEV NLS: löscheAlles( )

Löscht alle Daten aus der Virtuellen Tabelle und setzt den Cursor vor die erste Zeile.

 

Daten in ein Formular übertragen

hmtoggle_plus1 fillFormular(XdevFormular formular, Int row) | XDEV NLS: fülleFormlular(XdevFormular formular, Ganzzahl zeile)

Überträgt einen Datensatz aus der Virtuellen Tabelle in ein Formular. Bei den Formular-Komponenten muss bei der Eigenschaft Datenfeld jeweils das dazugehörige Datenfeld hinterlegt werden, damit die Daten übertragen werden können.

 

Durch den Index hmtoggle_plus1 row | XDEV NLS: zeile legen Sie fest, welcher Datensatz übertragen werden soll.

 

Falls der Index hmtoggle_plus1 row | XDEV NLS: zeile bereits bekannt ist, wird dieser mit einer Variable übergeben. In der Praxis muss der Index hmtoggle_plus1 row | XDEV NLS: zeile jedoch erst von einer anderen Komponente abgefragt werden, z.B. von einer Table, einem DataGrid oder DataControl. Die entsprechende hmtoggle_plus1 get | XDEV NLS: hole Methode dafür finden Sie bei der jeweiligen Komponente, z.B. hmtoggle_plus1 getSelectedRow( ) | XDEV NLS: holeSelektierteZeile( ) bei der Table und beim DataGrid sowie hmtoggle_plus1 getIndex( ) | XDEV NLS: holeIndex( ) beim DataControl.

 

Beispiele:

 

#Modelle.fillFormular(Formular, Table.getSelectedRow());

#Modelle.fillFormular(Formular, Table.getSelectedRow())

#Modelle\fülleFormular(Formular, Table\holeSelektierteZeile())

 

Die Funktion füllt ein Formular mit einem Datensatz, der in einer Table angeklickt wurde und somit selektiert ist. Mit Hilfe von getSelectedRow() wird der Index des selektierten Datensatzes ermittelt. Mit Formular wird das zu füllende Formular übergeben, aus der der Datensatz ausgelesen werden soll.

 

#Modelle.fillFormular(Formular, DataControl.getIndex()); 

#Modelle.fillFormular(Formular, DataControl.getIndex())

#Modelle\fülleFormular(Formular, DataControl\holeIndex()) 

 

Die Funktion füllt ein Formular mit einem Datensatz aus der Virtuellen Tabelle #Modelle, der mit einem DataControl angesteuert wurde. Mit Hilfe von hmtoggle_plus1 getIndex( ) | XDEV NLS: holeIndex( ) wird der Index des aktuellen Datensatzes ermittelt. 

 

Kopie von Virtueller Tabelle

hmtoggle_plus1 copy(Boolean withData) VirtualTable | XDEV NLS: kopiere(Wahrheitswert mitDaten) Virtuelle Tabelle

Erzeugt eine Kopie der aktuellen Virtuellen Tabelle und gibt diese als VirtualTable-Objekt zurück. Wenn hmtoggle_plus1 true | XDEV NLS: WAHR übergeben wird, werden auch die Datensätze mit kopiert, ansonsten nur die leere Virtuelle Tabelle.

 

VirtualTable MODELLE_KOPIE = #MODELLE.copy(true);

VirtualTable MODELLE_KOPIE = #MODELLE.copy(true)

VirtuelleTabelle MODELLE_KOPIE = #MODELLE\kopiere(WAHR)

 

Zeilen zählen

hmtoggle_plus1 getRowCont( ) | XDEV NLS: anzahlZeilen( )

Gibt die Anzahl der Zeilen bzw. die Anzahl der Datensätze in der Virtuellen Tabelle zurück.

 

Diese Methode wird häufig für den Zähler einer Schleife benötigt, mit der bestimmte Werte aus den Datensätzen der Virtuellen Tabelle ausgelesen werden sollen.

 

Int anzahlZeilen = #MODELLE.getRowCount();

for (Int i; i< anzahlZeilen; i = i+1)

{

 

}

Int anzahlZeilen = #MODELLE.getRowCount()

XFor Int i, i< anzahlZeilen, i = i+1

 

Next

Ganzzahl anzahlZeilen = #Modelle\anzahlZeilen()

Zählerschleife (Ganzzahl i | i< anzahlZeilen | i = i+1)

 

 

Wert aus Zelle auslesen

hmtoggle_plus1 getValueAt(Int row, String col) | XDEV NLS: holeWert(Ganzzahl zeile, Zeichenkette spalte)

 

Liest den Wert aus einer Zelle der Virtuellen Tabelle aus. Die Position der Zelle wird über den Spaltennamen hmtoggle_plus1 col | XDEV NLS: spalte bestimmt, der als Zeichenkette angegeben werden muss, i.V.m.  dem Zeilen-Index hmtoggle_plus1 row | XDEV NLS: zeile, bei dem es sich um eine Ganzzahl handelt. Der Spaltenname kann auch als als VT-Konstante anstatt einer statischen Zeichenkette angegeben werden, z.B. #MODELLE.MODELL.

 

Wert in Zelle schreiben

hmtoggle_plus1 setValueAt(Int row, String col, Mixed value) | XDEV NLS: setzeWert(Ganzzahl zeile, Zeichenkette spalte, Verschiedenes wert)

 

Schreibt einen Wert die Zelle der Virtuelle Tabelle in der Zeile hmtoggle_plus1 row | XDEV NLS: zeile und der Spalte hmtoggle_plus1 col | XDEV NLS: spalte. Der Wert hmtoggle_plus1 row | XDEV NLS: zeile kann von einem beliebigen Datentyp sein.

 

Virtuelle Tabelle sortieren

hmtoggle_plus1 sortByCol(String colName, Boolean ascending) | XDEV NLS: sortiereNachSpalte(Zeichenkette spaltenName, Wahrheitswert aufsteigend)

 

Sortiert die Virtuelle Tabelle nach der Spalte hmtoggle_plus1 colName | XDEV NLS: spaltenName aufsteigend, wenn hmtoggle_plus1 true | XDEV NLS: WAHR übergeben wird, ansonsten absteigend. Alternativ können Sie die Sortierung von der Datenbank vornehmen lassen, indem Sie das zu sortierende Datenfeld im SQL-Assistenten unter Schritt 3: Filter festlegen bei  hmtoggle_plus1 ORDER BY | XDEV NLS: Sortiere nach Spalte(n) angeben.

 

Geänderte Daten in Datenbank übertragen

hmtoggle_plus1 synchronizeChangedRows( ) | XDEV NLS: synchronisiereGeänderteZeilen( )

 

Synchronisiert alle geänderten Daten in der Virtuellen Tabelle mit der dazugehörigen Datenbank-Tabelle. Neue Datensätze werden in der Datenbank-Tabelle per Insert eingefügt.

 

Speichert alle geänderten oder neuen Daten in eine identische Datenbank-Tabelle. Die Virtuelle Tabelle muss exakt der Datenbank-Tabelle entsprechen, u.a. gleicher Tabellen-Name sowie Anzahl und Namen der Datenfelder. Die Synchronisierung findet jedoch nur in 1 Richtung statt, und zwar von der Virtuellen Tabelle zur Datenbank-Tabelle. Die Methode schreibt dabei nur die Daten in die Datenbank-Tabelle, die sich in der Virtuellen Tabelle geändert haben (Update) oder neu hinzu gekommen sind (Insert). Die Virtuelle Tabelle bleibt dagegen unverändert.

 

Tipp: Mit der Anweisung hmtoggle_plus1 XDEV WriteDB | XDEV NLS: XDEV DatenbankSchreiben können Sie Daten einer Virtuellen Tabelle in einer beliebigen Datenbank-Tabelle speichern.

 

Tipp: Die Methode hmtoggle_plus1 synchronizeChangedRows( ) | XDEV NLS: synchronisiereGeänderteZeilen( ) sollten Sie immer in eine hmtoggle_plus0 try-catch Anweisung setzen.

 

 

Basiswissen: Virtuelle Tabellen., Methoden.