Object model

Genaue Angaben über das verwendete Objektmodell sind nachfolgend beschrieben.

Arbeiten mit Sammlungen

Alle Sammlungen im Objektmodell unterstützen die folgenden Methoden:

Name Typ Zugriff Beschreibung
Count int Schreibgeschützt Anzahl der Objekte in der Sammlung
Item( index : int ) ItemInterface Schreibgeschützt

Ruft ein Objekt der Sammlung mit dem angegebenen Index ab.

Die Zählung beginnt mit "0".

Hinweis. Anstatt die Methode Item zu verwenden, können Sie Objekte der Sammlung auch ansprechen, indem Sie abhängig von der ausgewählten Sprache runde Klammern oder eckige Klammern verwenden. In den Sprachen JScript, VBScript und Visual Basic.Net werden runde Klammern verwendet. In C#.Net können nur eckige Klammern verwendet werden. In JScript.Net können sowohl runde als auch eckige Klammern verwendet werden.

Beispiel:

Items( 1 ).Text = "Hallo" or Items[ 1 ].Text = "Hallo"
    

Alle Sammlungen können in "for each" und ähnlichen Konstruktionen verwendet werden.

Arbeiten mit sich wiederholenden Feldern und Tabellen

Alle Dokumentfelder, mit Ausnahme von Tabellen, können sich wiederholen.

In der Dokumentstruktur werden sich wiederholende Felder durch ein spezielles Prototypfeld repräsentiert, das eine nichtleere Items-Sammlung enthält.

Ein Prototypfeld hat weder untergeordnete Elemente noch einen Wert. Es wird nur für die Speicherung der Gruppe von Felditerationen verwendet. Untergeordnete Felder und/oder Feldwerte können nur Attribute der Feldinstanzen sein, die über die Methode Items des Objektes IField verfügbar sind.

Tabellen enthalten immer die Sammlung Rows (Rows ist das Synonym für Items). Die Sammlung Rows enthält nur die Zeilen der Tabelle, auf deren Zellen über die Methode Children der Zeilen zugegriffen werden kann.

Zusammensetzen von Pfaden zu Feldern

Die Methoden Field, HasField und IndexedItemValue des Objekts IDocument verwenden Pfade zu den Feldern auf dem Formular als ihre Parameter. Der formale Weg zur Darstellung des Pfades über die BNF (Backus-Naur-Form) lautet wie folgt:

<Path> ::= <Path_component> | <Path> "\" <Path_component>

<Path_component> ::= <Field_name> | <Field_name> "["<Field_iteration_number>"]"

Wobei Field_name die Namen der Dokumentfelder angibt, wie sie in der Dokumentdefinition angegeben wurden und Field_iteration_number die Iterationsnummer des sich wiederholenden Feldes ist (die Zeilennummer für Tabellen), beginnend mit "0".

Der Pfad kann vollständig oder relativ sein. Der vollständige Pfad beginnt dem Namen des Dokumentbereichs, während relative Pfade mit dem Namen des untergeordneten Objekts in der Gruppe beginnen.

Beispiel: Für die dritte Zeile der Spalte "Total" in der Tabelle "Table", die sich im Bereich "Section" befindet, müsste folgendes angegeben werden:

"Section\Table[2]\Total"
    

Ein solcher vollständiger Name kann über die Methode FullName des Objekts IField zusammengestellt werden.

10.11.2020 12:08:03


Please leave your feedback about this article