Funktion | Mit der Table-Anweisung können Sie eine eigene Tabelle (SAP Table Control) hinzufügen. | ||||||||||||
Beispiel | Table
(10,20) (16,84)
name="proj"
title="Projektübersicht
Hierdurch wird eine neue Tabelle mit der Überschrift "Projektübersicht" hinzugefügt. Die Spalten der Tabellen werden anschliessend durch Column-Anweisungen definiert. |
||||||||||||
Format | Table
(Zeile1,Spalte1) (Zeile2,Spalte2)
name="mytable"
title="mytitle" Eine neue Tabelle mit Überschrift "mytitle" wird hinzugefügt. Der interne Name ist "mytable". Die Gesamtzahl der Zeilen ist "rowcount". Die Anzahl der angezeigten Zeilen richtet sich nach der über die Koordinaten definierten Grösse. Column-Anweisungen werden automatisch der vorangehenden Table-Anweisung zugeordnet, falls nicht explizit dort mit table= eine andere Tabelle angegeben ist. |
||||||||||||
Optionen |
|
||||||||||||
Verwendung einer Tabellenvariablen
|
Es ist empfehlenswert, für die Daten der Tabelle mit
CreateTable eine passende Tabellenvariable anzulegen. Beispiel:
// Tabellenvariable V[cities] anlegen, falls noch nicht geschehen: CreateTable V[cities] city country latitude longitude endif
// Tabelle anzeigen
Column "City" size=30 name="city" Ohne Tabellenvariable verwendet GuiXT pro Zelle eine einzelne Variable mit dem Namen V[tablename.cell.columnname.rownumber], zum Beispiel V[projects.cell.description.7]. |
||||||||||||
Zuordnung der
Variablen
|
Sowohl der Inhalt der Tabelle (Ein- und Ausgabe) als auch der Zustand (Blättern, Selektion von Zeilen und Spalten, Ändern von Spaltenbreiten oder Spaltenreihenfolge) wird in Variablen abgebildet, deren Namen jeweils mit dem gewählten Tabellennamen, z.B. "mytable", beginnt. Alle Statusvariablen beginnen mit "mytable.stat."
Inhalt der Tabellenzellen Jede Tabellenzelle wird durch eine Variable V[tabname.columnname.row] repräsentiert. Beispiel: V[projects.description.7] ist die 7. Zeile, Spalte "description" in der Tabelle "projects". Durch Clear V[projects] können Sie den gesamten Inhalte der Tabelle zurücksetzen. Falls der Zustand (Blättern, Zeilenselektion,...) zurückgesetzt werden soll, verwenden Sie Clear V[projects.stat.*] Blättern Die Blätterfunktionen sind automatisch durch das SAP Table Control implementiert (Blättertasten, SAP-Ikonen, Scrollbar). Bei mehreren gleichzeitig angezeigten Tabellen beziehen sich die Blättertasten (Erste Seite, eine Seite vor/zurück, letzte Seite) auf die Tabelle, in der der Cursor steht, sonst auf die erste angezeigte Tabelle. Die Variable V[tabname.stat.firstvisiblerow] enthält die Nummer der ersten angezeigten Zeile. Sie kann auch in einem Script verändert werden, um die Anzeige auf eine andere Zeile zu positionieren, zum Beispiel zur Implementierung einer Suchfunktion. Beispiel: Set V[projects.stat.firstvisiblerow] 12 Dadurch wird die Tabelle ab Zeile 12 angezeigt. Wenn die Variable nicht gesetzt ist, wird der Wert 1 angenommen. Die Variable V[tabname.stat.lastvisiblerow] enthält die Nummer der letzen angezeigten Zeile. Ihre Änderung in einem Script hat keine Auswirkungen. Horizontales Blättern Horizontales Blättern durch die Spalten ist im SAP Table Control ebenfalls möglich. Die Variable V[tabname.stat.firstvisiblecolumn] enthält die Nummer der ersten angezeigten Spalte. Wenn die Variable nicht gesetzt ist, wird der Wert 1 angenommen. Falls durch fixedColumns= eine oder mehrere Spalten fixiert wurden, enthält V[tabname.stat.firstvisiblecolumn] die Nummer der ersten angezeigten Spalte innerhalb der scrollbaren Spalten, also z.B. bei 2 feststehenden Spalten mindestens die Nummer 3.
Reihenfolge der Spalten
Die anfängliche Reihenfolge
der Spalten ist durch die Reihenfolge der
column-Anweisungen
vorgegeben. Der Benutzer kann dann die Reihenfolge der Spalten verändern.
Sie kann auch im Script dynamisch gesetzt werden. Die Variablen dazu heissen
V[tabname.stat.columnnumber.columnname], z.B.
Spaltenbreite
Die anfängliche Breite der
Spalten ist durch die
width=
Angabe der
column-Anweisungen
vorgegeben. Der Benutzer kann dann die Breite der Spalten verändern. Sie
kann auch im Script dynamisch gesetzt werden. Die Variablen dazu heissen
V[tabname.stat.columnwidth.columname], z.B.
Zeilenselektion Bei einer selektierten Zeile ist die Variable V[tabname.stat.rowselection.row] auf "X" gesetzt. Beispiel: if V[projects.stat.rowselection.1=X] fragt ab, ob die Zeile 1 selektiert wurde. Die Selektion einer Zeile kann auch durch ein Script gesetzt werden.
Zeilen auf
readonly setzen
Um bei einzelnen Zeilen
gezielt die Eingabebereitschaft wegzunehmen, setzen Sie die Variable Set V[projects.stat.rowreadonly.&V[i]] "X"
Spaltenselektion Bei einer selektierten Spalte ist die Variable V[tabname.stat.columnselection.columnname] auf "X" gesetzt. Beispiel: if V[projects.stat.columnselection.description=X] fragt ab, ob die Spalte "description" selektiert wurde. Die Selektion einer Spalte kann auch durch ein Script gesetzt werden.
Drucktasten in Tabellenspalten Durch die column-Anweisung kann können in einer Tabellenspalte Drucktasten dargestellt werden, die ein InputScript starten. Folgende Variablen sind dann gesetzt: V[_tabrow] Nummer der ausgewählten Zeile in der Tabellenanzeige, beginnend mit 1 für die erste gerade angezeigte Zeile V[_tabrowabs] Absolute Zeilennummer innerhalb der Tabelle
Suchhilfe (F4) in Tabellenspalten In der column-Anweisung können Sie den Tabellenspalten eine SAP-Suchhilfe zuordnen.
Cursorposition abfragen Mit folgenden Variablen kann die Cursorposition innerhalb der Tabelle abgefragt werden: V[_cursortabname] Titel der Tabelle (title=) V[_cursortabtechname] Technischer Name der Tabelle (name=) V[_cursorcolname] Spaltenüberschrift V[_cursorcoltechname] Technischer Name der Spalte V[_tabcol] Spaltennummer V[_tabrow] Zeilennummer in der Tabellenanzeige, beginnend mit 1 für die erste gerade angezeigte Zeile V[_tabrowabs] Absolute Zeilennummer innerhalb der Tabelle V[_cursorrow] Zeile, in der die Tabellenanzeige beginnt ("Zeile1" in Table-Anweisung) V[_cursorcol] Spalte, in der die Tabellenanzeige beginnt ("Spalte1" in Table-Anweisung)
Setzen des Cursors in eine Tabellenzelle Durch SetCursor cell[tabname,columnname,row], zum Beispiel SetCursor cell[project,Description,3] Dabei ist die Zeilennummer die visuelle Zeilennummer in der Anzeige. Für columnname können Sie die Spaltenüberschrift oder den technischen Namen der Spalte verwenden. Wenn Sie auf eine absolute Zeilennummer positionieren möchten, z.B. V[posrow], in Spalte "descr", geht das z.B. wie folgt: if
V[posrow<&V[xtab.stat.firstvisiblerow]]
or
V[posrow>&V[xtab.stat.lastvisiblerow]]
|
||||||||||||
Komponente | GuiXT + InputAssistant |