/XTAB_BLOCK
«
{
// Ermittelt, ob eine bestimmte Tabelle existiert.
if(XTAB.IsDefined('XTended_HARRAY')=FALSE)
{
// Neue Tabelle definieren resp. bestehende Tabelle (Daten und Struktur) zurücksetzen.
XTAB.CreateOrClear('XTended_HARRAY')
}
// Spalte hinzufügen. Zurückgegeben wird Nummer der eingefügten Spalte.
// Aktuell unterstützt werden die Datentypen 'A', 'B', 'D' und 'R'.
// Standardmässig (ohne nähere Angabe) wird eine 'A'-Spalte erstellt.
XTAB.AddCol('XTended_HARRAY', 'ID', 'R')
XTAB.AddCol('XTended_HARRAY', 'FirstName', 'A')
XTAB.AddCol('XTended_HARRAY', 'LastName', 'A')
XTAB.AddCol('XTended_HARRAY', 'BirthDay', 'D')
XTAB.AddCol('XTended_HARRAY', 'isSCHeff', 'B')
// Zusätzliche Zeile hinzufügen, wobei die Spalten-Werte optional mitgegeben werden können.
XTAB.AddRow('XTended_HARRAY', 100,'Martin','Schild',date(15.04.1967))
XTAB.AddRow('XTended_HARRAY', 101,'Kai','Reichmuth',date(23.11.1991))
XTAB.AddRow('XTended_HARRAY', 102,'Roman','Vonwil',date(05.04.1980))
// Liefert Nummer der ersten passenden Zeile. 0 wenn keine Zeile passt.
// Übergebenes Filter wirkt (standardmässig) additiv zu für ganze Tabelle gesetztem View-Filter
// (kann durch entsprechendes Argument übersteuert werden).
// ACHTUNG: Kann bei Tabellen mit vielen Zeilen langsam sein!
var scheffNO := XTAB.FindFirstRow('XTended_HARRAY', "ID = 100", FALSE)
// Einen Wert setzen (standardmässig unter Einbezug einer allfälligen View).
XTAB.SetValByColName('XTended_HARRAY', 'isSCHeff', scheffNO, TRUE)
// Liefert Anzahl Spalten.
var cols := XTAB.GetNmbOfCols('XTended_HARRAY')
// Einen Filter setzen: Nach dem Setzen ist nur noch ein Subset der Zeilen sichtbar.
// Zurückgegeben, wird die Anzahl der 'sichtbaren' Zeilen.
// ACHTUNG: Kann bei Tabellen mit vielen Zeilen langsam sein!
XTAB.SetViewFilter('XTended_HARRAY','isSCHeff = TRUE')
// Liefert Anzahl Zeilen (standardmässig unter Einbezug einer allfälligen View).
var rows := XTAB.GetNmbOfRows('XTended_HARRAY', FALSE)
SYS("MSG INFO ROWS mit Filter: "+string(rows) )
rows := XTAB.GetNmbOfRows('XTended_HARRAY', TRUE)
SYS("MSG INFO ROWS ohne Filter: "+string(rows) )
// Filter zurücksetzen. Zurückgegeben wird die Anzahl Zeilen welche nach dem
// Entfernen des Filters sichtbar ist (alle Zeilen).
XTAB.ClearViewFilter('XTended_HARRAY')
// Sortierreihenfolge gemäss den übergebenen Spalten-Namen setzen.
// Prefix '-' = absteigende Sortierung. ACHTUNG: Kann bei Tabellen mit vielen Zeilen langsam sein!
XTAB.SetViewOrderByColNames('XTended_HARRAY', '-BirthDay','LastName','FirstName')
XFAS.AddHeads('ID','FirstName','LastName','BirthDay','isSCHeff')
for(var row := 1, row <= rows, ++row)
{
// Wert (standardmässig unter Einbezug einer allfälligen View) als Zahl abholen.
XFAS.AddCell( XTAB.GetNmbVal('XTended_HARRAY', 1, row, FALSE, TRUE) )
// Wert (standardmässig unter Einbezug einer allfälligen View) als String abholen.
XFAS.AddCell( XTAB.GetStrVal('XTended_HARRAY', 2, row, FALSE, TRUE) )
// Wert (standardmässig unter Einbezug einer allfälligen View) als String abholen (via Spaltenname).
XFAS.AddCell( XTAB.GetStrValByColName('XTended_HARRAY', 'LastName', row, FALSE, TRUE) )
// Wert (standardmässig unter Einbezug einer allfälligen View) als Datum abholen.
XFAS.AddCell( XTAB.GetDateVal('XTended_HARRAY', 4, row, FALSE, TRUE) )
XFAS.AddCell( XTAB.GetNmbVal('XTended_HARRAY', 5, row, FALSE, TRUE) )
}
}
»
/