FieldIf
Inhalt
[
Ausblenden
]FieldIf class
Implementiert das IF-Feld.
Um mehr zu erfahren, besuchen Sie dieArbeiten mit Feldern Dokumentationsartikel.
public class FieldIf : Field
Konstrukteure
Name | Beschreibung |
---|---|
FieldIf() | Default_Constructor |
Eigenschaften
Name | Beschreibung |
---|---|
ComparisonOperator { get; set; } | Ruft den Vergleichsoperator ab oder legt ihn fest. |
DisplayResult { get; } | Ruft den Text ab, der das angezeigte Feldergebnis darstellt. |
End { get; } | Ruft den Knoten ab, der das Feldende darstellt. |
FalseText { get; set; } | Ruft den angezeigten Text ab oder legt ihn fest, wenn der VergleichsausdruckFALSCH . |
Format { get; } | Erhält eineFieldFormat 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 (das Ergebnis sollte nicht neu berechnet werden). |
LeftExpression { get; set; } | Ruft den linken Teil des Vergleichsausdrucks ab oder legt ihn fest. |
LocaleId { get; set; } | Ruft die LCID des Felds ab oder legt sie fest. |
Result { get; set; } | Ruft Text ab oder legt ihn fest, der zwischen Feldtrennzeichen und Feldende steht. |
RightExpression { get; set; } | Ruft den rechten Teil des Vergleichsausdrucks ab oder legt ihn 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. |
TrueText { get; set; } | Ruft den angezeigten Text ab oder legt ihn fest, wenn der Vergleichsausdruck wahr ist. |
virtual Type { get; } | Ruft den Microsoft Word-Feldtyp ab. |
Methoden
Name | Beschreibung |
---|---|
EvaluateCondition() | Wertet die Bedingung aus. |
GetFieldCode() | Gibt Text zwischen Feldanfang und Feldtrennzeichen zurück (oder Feldende, wenn kein Trennzeichen vorhanden ist). Sowohl Feldcode als auch Feldergebnis von untergeordneten Feldern werden einbezogen. |
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 Kind seines übergeordneten Knotens ist, wird dessen übergeordneter Absatz zurückgegeben. Wenn das Feld bereits entfernt wurde, wird zurückgegebennull . |
Unlink() | Führt die Feldverknüpfung 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
Vergleicht die durch die Ausdrücke bezeichneten WerteLeftExpression
UndRightExpression
im Vergleich mit dem Operator bezeichnet durchComparisonOperator
.
Als Quelle für den Serienbrief wird ein Feld im folgenden Format verwendet: { IF 0 = 0 “{PatientsNameFML}” "" * MERGEFORMAT }
Beispiele
Zeigt, wie ein IF-Feld eingefügt wird.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Write("Statement 1: ");
FieldIf field = (FieldIf)builder.InsertField(FieldType.FieldIf, true);
field.LeftExpression = "0";
field.ComparisonOperator = "=";
field.RightExpression = "1";
// Das IF-Feld zeigt eine Zeichenfolge aus seiner Eigenschaft "TrueText" an,
// oder seine Eigenschaft „FalseText“, abhängig von der Wahrheit der von uns erstellten Aussage.
field.TrueText = "True";
field.FalseText = "False";
field.Update();
// In diesem Fall ist „0 = 1“ falsch, daher ist das angezeigte Ergebnis „Falsch“.
Assert.AreEqual(" IF 0 = 1 True False", field.GetFieldCode());
Assert.AreEqual(FieldIfComparisonResult.False, field.EvaluateCondition());
Assert.AreEqual("False", field.Result);
builder.Write("\nStatement 2: ");
field = (FieldIf)builder.InsertField(FieldType.FieldIf, true);
field.LeftExpression = "5";
field.ComparisonOperator = "=";
field.RightExpression = "2 + 3";
field.TrueText = "True";
field.FalseText = "False";
field.Update();
// Dieses Mal ist die Anweisung korrekt, daher ist das angezeigte Ergebnis „True“.
Assert.AreEqual(" IF 5 = \"2 + 3\" True False", field.GetFieldCode());
Assert.AreEqual(FieldIfComparisonResult.True, field.EvaluateCondition());
Assert.AreEqual("True", field.Result);
doc.UpdateFields();
doc.Save(ArtifactsDir + "Field.IF.docx");
Siehe auch
- class Field
- namensraum Aspose.Words.Fields
- Montage Aspose.Words