Die Besonderheiten des verwendeten Objektmodells werden im Folgenden beschrieben.
Alle Sammlungen im Objektmodell unterstützen die folgenden Methoden:
Name | Typ | Zugriff | Beschreibung |
|---|
Count | int | Schreibgeschützt | Die Anzahl der Elemente in der Sammlung |
Item( index : int ) | ItemInterface | Schreibgeschützt | Ruft ein Element der Sammlung mit dem angegebenen Index ab. Die Indizierung beginnt bei “0”. |
Statt die Methode Item zu verwenden, können Sie – abhängig von der ausgewählten Sprache – auch über runde oder eckige Klammern auf Elemente der Sammlung zugreifen. 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.
Zum Beispiel,
Items( 1 ).Text = "Hello" or Items[ 1 ].Text = "Hello"
Alle Sammlungen können in “for each”-Schleifen und ähnlichen Konstrukten verwendet werden.
Arbeiten mit wiederkehrenden Feldern und Tabellen
Alle Dokumentfelder außer Tabellen können wiederkehrend sein.
In der Dokumentstruktur werden wiederkehrende Felder durch ein spezielles Prototypfeld dargestellt, das eine nicht leere Items-Sammlung hat.
Ein Prototypfeld hat weder untergeordnete Elemente noch einen Wert. Es wird nur zum Speichern der Feldwiederholungen verwendet. Untergeordnete Felder und/oder Feldwerte können nur Attribute von Feldinstanzen sein, auf die über die Methode Items des Objekts IField zugegriffen werden kann.
Tabellen haben immer die Rows-Sammlung (Rows ist ein Synonym für Items). Die Rows-Sammlung enthält nur die Zeilen der Tabelle, deren Zellen über die Methode Children der Zeilen zugänglich sind.
Pfade zu Feldern erstellen
Die Methoden Field, HasField und IndexedItemValue des Objekts IDocument verwenden Pfade zu den Feldern im Formular als Parameter. Die formale Darstellung des Pfads in BNF (Backus-Naur-Form) lautet wie folgt:
<Path> ::= <Path_component> | <Path> "" <Path_component>
<Path_component> ::= <Field_name> | <Field_name> ”[“<Field_iteration_number>”]”
Dabei bezeichnet Field_name die Namen der Dokumentfelder, wie sie in Document Definition definiert sind, und Field_iteration_number ist die Iterationsnummer des wiederkehrenden Feldes (bei Tabellen die Zeilennummer), beginnend bei “0”.
Der Pfad kann vollständig oder relativ sein. Vollständige Pfade werden ausgehend vom Namen des Dokumentabschnitts gebildet, relative Pfade ausgehend vom Namen des untergeordneten Elements in der Gruppe.
Um beispielsweise die dritte Zeile der Spalte “Total” in der Tabelle “Table” anzugeben, die sich im Abschnitt “Section” befindet, sollten Sie Folgendes schreiben:
Ein solcher vollständiger Name lässt sich mit der FullName-Methode des IField-Objekts erstellen.