FieldIf

FieldIf class

Implementerar IF-fältet.

För att lära dig mer, besökArbeta med Fields dokumentationsartikel.

public class FieldIf : Field

Konstruktörer

namnBeskrivning
FieldIf()Default_Constructor

Egenskaper

namnBeskrivning
ComparisonOperator { get; set; }Hämtar eller ställer in jämförelseoperatorn.
DisplayResult { get; }Hämtar texten som representerar det visade fältresultatet.
End { get; }Hämtar noden som representerar fältänden.
FalseText { get; set; }Hämtar eller ställer in texten som visas om jämförelseuttrycket ärfalsk .
Format { get; }Får enFieldFormat objekt som ger maskinskriven åtkomst till fältets formatering.
IsDirty { get; set; }Hämtar eller ställer in om det aktuella resultatet av fältet inte längre är korrekt (inaktuellt) på grund av andra ändringar som gjorts i dokumentet.
IsLocked { get; set; }Hämtar eller ställer in om fältet är låst (ska inte räkna om resultatet).
LeftExpression { get; set; }Hämtar eller ställer in den vänstra delen av jämförelseuttrycket.
LocaleId { get; set; }Hämtar eller ställer in LCID för fältet.
Result { get; set; }Hämtar eller ställer in text som är mellan fältavgränsaren och fältslutet.
RightExpression { get; set; }Hämtar eller ställer in den högra delen av jämförelseuttrycket.
Separator { get; }Hämtar noden som representerar fältseparatorn. Kan varanull .
Start { get; }Hämtar noden som representerar början av fältet.
TrueText { get; set; }Hämtar eller ställer in texten som visas om jämförelseuttrycket är sant.
virtual Type { get; }Hämtar fälttypen Microsoft Word.

Metoder

namnBeskrivning
EvaluateCondition()Utvärderar villkoret.
GetFieldCode()Returnerar text mellan fältstart och fältavgränsare (eller fältslut om det inte finns någon avgränsare). Både fältkod och fältresultat för underordnade fält ingår.
GetFieldCode(bool)Returnerar text mellan fältstart och fältavgränsare (eller fältslut om det inte finns någon avgränsare).
Remove()Tar bort fältet från dokumentet. Returnerar en nod direkt efter fältet. Om fältets slut är den sista child av dess överordnade nod, returnerar dess överordnade stycke. Om fältet redan är borttaget, returnerasnull .
Unlink()Utför fältavlänkningen.
Update()Utför fältuppdateringen. Kastar om fältet redan uppdateras.
Update(bool)Utför en fältuppdatering. Kastar om fältet redan uppdateras.

Anmärkningar

Jämför värdena som anges av uttryckenLeftExpression ochRightExpression i jämförelse med den operatör som anges avComparisonOperator.

Ett fält i följande format kommer att användas som en kopplingskälla: { IF 0 = 0 “{PatientsNameFML}” "" * MERGEFORMAT }

Exempel

Visar hur man infogar ett IF-fält.

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";

// IF-fältet kommer att visa en sträng från antingen dess "TrueText"-egenskap,
// eller dess "FalseText"-egenskap, beroende på sanningen i påståendet som vi har konstruerat.
field.TrueText = "True";
field.FalseText = "False";
field.Update();

// I det här fallet är "0 = 1" felaktigt, så det visade resultatet blir "False".
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();

// Den här gången är påståendet korrekt, så det visade resultatet blir "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");

Se även