Get Field List From Table
Zuletzt geändert: 23.05.2026 10:43

Übersicht

Get-FieldListFromTable #

ÜBERSICHT #

Liefert eine UI-fertige Spalten-Auswahlliste einer EULANDA-Tabelle mit optionaler Vorbelegung (Preset).

SYNTAX #

Get-FieldListFromTable [-Conn] <__ComObject> [-Table] <string> [[-Preset] <string>]
    [<CommonParameters>]

BESCHREIBUNG #

Wrappt Get-EulTableSchema und liefert die Spalten in einer Form, die direkt in eine UI-Komponente (z.B. WebKit eul-tree mit Checkboxen) eingespeist werden kann. Über -Preset wird der initiale checked-State pro Eintrag gesetzt – analog zu den Vorbelegungs-Buttons im alten Delphi-Excel-Wizard.

Preset-Verhalten:

Default  – alle Spalten gehakt, ausser den Standard-System-Spalten:
ID, STAMP, CREATEDATE, CHANGEDATE, LOCKED, BILD, BILDVORSCHAU.
NoMemo   – wie Default, plus Memo-Spalten raus:
KARTEIKARTE, LANGTEXT, INFO.
None     – nichts gehakt.
All      – alles gehakt, inklusive Identity-/System-Spalten
(explizite Anwender-Entscheidung).

PARAMETER #

-Conn #

Type: __ComObject

ADODB.Connection-Objekt zur EULANDA-Datenbank. Caller-owns.

-Table #

Type: string

Tabellenname (z.B. ‘Artikel’, ‘Adresse’).

-Preset #

Type: string
Default: 'Default'

Initialer Auswahl-Modus. Default ‘Default’ (entspricht Delphi-CheckAll).

AUSGABEN #

[PSCustomObject[]] pro Spalte:

id [string] Spaltenname (geeignet als HTML-id / Tree-Node-id). label [string] Spaltenname (oben in der UI sichtbar). hint [string] Kurzform ‘TypeName ( PK / IDENTITY / COMPUTED )’. checked [bool] Vorbelegung gemäss Preset. isKey [bool] Primärschlüssel-Spalte. isIdentity [bool] Identity-Spalte. isComputed [bool] Computed-Spalte (wird beim Upsert übersprungen). typeName [string] ADODB-Type-Name aus Get-EulTableSchema.

BEISPIELE #

$cols = Get-FieldListFromTable -Conn $conn -Table 'Artikel' -Preset Default
$cols | Where-Object checked | Select-Object id
# Liefert die Spaltennamen, die standardmaessig ausgewählt sind.
# Für eine WebKit-UI als JSON serialisieren
Get-FieldListFromTable -Conn $conn -Table 'Adresse' -Preset NoMemo |
    ConvertTo-Json -Depth 3 -Compress

HINWEISE #

Die Exclude-Listen sind als interne Konstanten gepflegt und spiegeln die Delphi-Vorlage aus XeEulanda\Pas\emExchangeExcel.pas (Default- Ausschluss, Memo-Ausschluss). Wenn EULANDA neue System-Spalten einführt, müssen die Listen hier ergänzt werden.

Vergleich auf die Exclude-Listen ist case-insensitiv.