FieldIf

FieldIf class

Implémente le champ IF.

Pour en savoir plus, visitez leTravailler avec les champs article de documentation.

public class FieldIf : Field

Constructeurs

NomLa description
FieldIf()Default_Constructor

Propriétés

NomLa description
ComparisonOperator { get; set; }Obtient ou définit l’opérateur de comparaison.
DisplayResult { get; }Obtient le texte qui représente le résultat du champ affiché.
End { get; }Obtient le nœud qui représente la fin du champ.
FalseText { get; set; }Obtient ou définit le texte affiché si l’expression de comparaison estFAUX .
Format { get; }Obtient unFieldFormatobjet qui fournit un accès typé au formatage du champ.
IsDirty { get; set; }Obtient ou définit si le résultat actuel du champ n’est plus correct (obsolète) en raison d’autres modifications apportées au document.
IsLocked { get; set; }Obtient ou définit si le champ est verrouillé (ne doit pas recalculer son résultat).
LeftExpression { get; set; }Obtient ou définit la partie gauche de l’expression de comparaison.
LocaleId { get; set; }Obtient ou définit le LCID du champ.
Result { get; set; }Obtient ou définit le texte qui se trouve entre le séparateur de champ et la fin du champ.
RightExpression { get; set; }Obtient ou définit la partie droite de l’expression de comparaison.
Separator { get; }Récupère le nœud représentant le séparateur de champ. Peut êtrenul .
Start { get; }Obtient le nœud qui représente le début du champ.
TrueText { get; set; }Obtient ou définit le texte affiché si l’expression de comparaison est vraie.
virtual Type { get; }Obtient le type de champ Microsoft Word.

Méthodes

NomLa description
EvaluateCondition()Évalue la condition.
GetFieldCode()Renvoie le texte entre le début du champ et le séparateur de champ (ou la fin du champ s’il n’y a pas de séparateur). Le code du champ et le résultat du champ des champs enfants sont inclus.
GetFieldCode(bool)Renvoie le texte entre le début du champ et le séparateur de champ (ou la fin du champ s’il n’y a pas de séparateur).
Remove()Supprime le champ du document. Renvoie un nœud immédiatement après le champ. Si la fin du champ est le dernier child de son nœud parent, renvoie son paragraphe parent. Si le champ est déjà supprimé, renvoienul .
Unlink()Effectue la dissociation du champ.
Update()Effectue la mise à jour du champ. Lève une requête si le champ est déjà en cours de mise à jour.
Update(bool)Effectue une mise à jour du champ. L’erreur est générée si le champ est déjà en cours de mise à jour.

Remarques

Compare les valeurs désignées par les expressionsLeftExpression etRightExpression en comparaison en utilisant l’opérateur désigné parComparisonOperator.

Un champ au format suivant sera utilisé comme source de publipostage : { IF 0 = 0 “{PatientsNameFML}” "" * MERGEFORMAT }

Exemples

Montre comment insérer un champ SI.

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

// Le champ IF affichera une chaîne provenant de sa propriété « TrueText »,
// ou sa propriété "FalseText", selon la véracité de l'énoncé que nous avons construit.
field.TrueText = "True";
field.FalseText = "False";
field.Update();

// Dans ce cas, "0 = 1" est incorrect, donc le résultat affiché sera "Faux".
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();

// Cette fois, l'instruction est correcte, donc le résultat affiché sera « Vrai ».
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");

Voir également