FieldIf

FieldIf class

Реализует поле IF.

Чтобы узнать больше, посетитеРабота с полями статья документации.

public class FieldIf : Field

Конструкторы

ИмяОписание
FieldIf()Конструктор по умолчанию.

Характеристики

ИмяОписание
ComparisonOperator { get; set; }Получает или задает оператор сравнения.
DisplayResult { get; }Получает текст, представляющий результат отображаемого поля.
End { get; }Получает узел, представляющий конец поля.
FalseText { get; set; }Получает или задает текст, отображаемый, если выражение сравненияЛОЖЬ .
Format { get; }ПолучаетFieldFormat объект, обеспечивающий типизированный доступ к форматированию поля.
IsDirty { get; set; }Получает или устанавливает, является ли текущий результат поля более неправильным (устаревшим) из-за других изменений, внесенных в документ.
IsLocked { get; set; }Получает или задает, заблокировано ли поле (не следует пересчитывать результат).
LeftExpression { get; set; }Получает или задает левую часть выражения сравнения.
LocaleId { get; set; }Получает или задает LCID поля.
Result { get; set; }Получает или задает текст, расположенный между разделителем полей и концом поля.
RightExpression { get; set; }Получает или задает правую часть выражения сравнения.
Separator { get; }Получает узел, представляющий разделитель полей. Возможнонулевой .
Start { get; }Получает узел, представляющий начало поля.
TrueText { get; set; }Получает или задает текст, отображаемый, если выражение сравнения истинно.
virtual Type { get; }Получает тип поля Microsoft Word.

Методы

ИмяОписание
EvaluateCondition()Оценивает условие.
GetFieldCode()Возвращает текст между началом поля и разделителем поля (или концом поля, если разделителя нет). Включены как код поля, так и результат поля дочерних полей.
GetFieldCode(bool)Возвращает текст между началом поля и разделителем полей (или концом поля, если разделителя нет).
Remove()Удаляет поле из документа. Возвращает узел сразу после поля. Если конец поля является последним дочерним его родительского узла, возвращает его родительский абзац. Если поле уже удалено, возвращаетсянулевой .
Unlink()Выполняет отсоединение поля.
Update()Выполняет обновление поля. Выдает, если поле уже обновляется.
Update(bool)Выполняет обновление поля. Выдает, если поле уже обновляется.

Примечания

Сравнивает значения, обозначенные выражениямиLeftExpression иRightExpression в сравнении с использованием оператора, обозначенногоComparisonOperator.

В качестве источника слияния почты будет использоваться поле следующего формата: { IF 0 = 0 “{PatientsNameFML}” "" * MERGEFORMAT }

Примеры

Показывает, как вставить поле ЕСЛИ.

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

// Поле ЕСЛИ будет отображать строку из любого свойства "TrueText",
// или его свойство «FalseText», в зависимости от истинности построенного нами утверждения.
field.TrueText = "True";
field.FalseText = "False";
field.Update();

// В этом случае «0 = 1» неверно, поэтому отображаемый результат будет «Ложь».
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();

// На этот раз утверждение верно, поэтому отображаемый результат будет «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");

Смотрите также