Field

Field class

Stellt ein Microsoft Word-Dokumentfeld dar.

Um mehr zu erfahren, besuchen Sie dieArbeiten mit Feldern Dokumentationsartikel.

public class Field

Eigenschaften

NameBeschreibung
DisplayResult { get; }Ruft den Text ab, der das angezeigte Feldergebnis darstellt.
End { get; }Ruft den Knoten ab, der das Feldende darstellt.
Format { get; }Ruft a abFieldFormat Objekt, das typisierten Zugriff auf die Formatierung des Felds bietet.
IsDirty { get; set; }Ruft ab oder legt fest, ob das aktuelle Ergebnis des Felds aufgrund anderer am Dokument vorgenommener Änderungen nicht mehr korrekt (veraltet) ist.
IsLocked { get; set; }Ruft ab oder legt fest, ob das Feld gesperrt ist (sollte sein Ergebnis nicht neu berechnen).
LocaleId { get; set; }Ruft die LCID des Felds ab oder legt sie fest.
Result { get; set; }Ruft Text ab, der zwischen dem Feldtrennzeichen und dem Feldende liegt, oder legt diesen fest.
Separator { get; }Ruft den Knoten ab, der das Feldtrennzeichen darstellt. Kann seinNull .
Start { get; }Ruft den Knoten ab, der den Anfang des Felds darstellt.
virtual Type { get; }Ruft den Microsoft Word-Feldtyp ab.

Methoden

NameBeschreibung
GetFieldCode()Gibt Text zwischen Feldanfang und Feldtrennzeichen zurück (oder Feldende, wenn kein Trennzeichen vorhanden ist). Sowohl der Feldcode als auch das Feldergebnis der untergeordneten Felder sind enthalten.
GetFieldCode(bool)Gibt Text zwischen Feldanfang und Feldtrennzeichen zurück (oder Feldende, wenn kein Trennzeichen vorhanden ist).
Remove()Entfernt das Feld aus dem Dokument. Gibt einen Knoten direkt nach dem Feld zurück. Wenn das Ende des Felds das letzte child seines übergeordneten Knotens ist, wird dessen übergeordneter Absatz zurückgegeben. Wenn das Feld bereits entfernt wurde, wird zurückgegebenNull .
Unlink()Führt das Feld unlink aus.
Update()Führt die Feldaktualisierung durch. Wird ausgelöst, wenn das Feld bereits aktualisiert wird.
Update(bool)Führt eine Feldaktualisierung durch. Wird ausgelöst, wenn das Feld bereits aktualisiert wird.

Bemerkungen

Ein Feld in einem Word-Dokument ist eine komplexe Struktur, die aus mehreren Knoten besteht, die Feldanfang, Feldcode, Feldtrennzeichen, Feldergebnis und Feldende umfassen. Felder können verschachtelt sein, umfangreiche Inhalte enthalten und mehrere Absätze oder Abschnitte in einem Dokument umfassen. DerField Die Klasse ist ein „Fassaden“-Objekt, das Eigenschaften und Methoden bereitstellt, die es ermöglichen, mit einem Feld als einzelnes Objekt zu arbeiten.

DerStart ,Separator UndEnd Eigenschaften verweisen jeweils auf den Start-, Trenn- und Endknoten des Felds .

Der Inhalt zwischen Feldanfang und Trennzeichen ist der Feldcode. Der Inhalt zwischen dem Feldtrennzeichen the und dem Feldende ist das Feldergebnis. Der Feldcode besteht normalerweise aus einem oder mehreren Run Objekte, die Anweisungen spezifizieren. Von der Verarbeitungsanwendung wird erwartet, dass sie den Feldcode ausführt , um das Feldergebnis zu berechnen.

Der Prozess der Berechnung der Feldergebnisse wird als Feldaktualisierung bezeichnet. Aspose.Words kann field -Ergebnisse der meisten Feldtypen auf genau die gleiche Weise aktualisieren wie Microsoft Word. Vor allem Aspose.Words kann Ergebnisse selbst der komplexesten Formelfelder berechnen. Um das field -Ergebnis eines einzelnen Felds zu berechnen, verwenden Sie dieUpdate Methode. Um Felder im gesamten Dokument zu aktualisieren, verwenden Sie UpdateFields.

Sie können die Nur-Text-Version des Feldcodes mithilfe von abrufenGetFieldCode method. Sie können die Nur-Text-Version des Feldergebnisses mithilfe von abrufen und festlegenResult property. Sowohl der Feldcode als auch das Feldergebnis können komplexe Inhalte enthalten, wie z. B. verschachtelte Felder, Absätze, Formen, Tabellen. In diesem Fall möchten Sie möglicherweise direkt mit den Feldknoten arbeiten, wenn Sie mehr Kontrolle benötigen.

Sie erstellen keine Instanzen davonField Klasse direkt. Um ein neues Feld zu erstellen, verwenden Sie dieInsertField Methode.

Beispiele

Zeigt, wie man mithilfe eines Feldcodes ein Feld in ein Dokument einfügt.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Field field = builder.InsertField("DATE \\@ \"dddd, MMMM dd, yyyy\"");

Assert.AreEqual(FieldType.FieldDate, field.Type);
Assert.AreEqual("DATE \\@ \"dddd, MMMM dd, yyyy\"", field.GetFieldCode());

// Diese Überladung der InsertField-Methode aktualisiert automatisch eingefügte Felder.
Assert.That(DateTime.Parse(field.Result), Is.EqualTo(DateTime.Today).Within(1).Days);

Siehe auch