FieldIf
Contenido
[
Ocultar
]FieldIf class
Implementa el campo SI.
Para obtener más información, visite elTrabajar con campos Artículo de documentación.
public class FieldIf : Field
Constructores
Nombre | Descripción |
---|---|
FieldIf() | Constructor predeterminado |
Propiedades
Nombre | Descripción |
---|---|
ComparisonOperator { get; set; } | Obtiene o establece el operador de comparación. |
DisplayResult { get; } | Obtiene el texto que representa el resultado del campo mostrado. |
End { get; } | Obtiene el nodo que representa el final del campo. |
FalseText { get; set; } | Obtiene o establece el texto que se muestra si la expresión de comparación esFALSO . |
Format { get; } | Obtiene unFieldFormat objeto que proporciona acceso tipificado al formato del campo. |
IsDirty { get; set; } | Obtiene o establece si el resultado actual del campo ya no es correcto (obsoleto) debido a otras modificaciones realizadas al documento. |
IsLocked { get; set; } | Obtiene o establece si el campo está bloqueado (no debe recalcular su resultado). |
LeftExpression { get; set; } | Obtiene o establece la parte izquierda de la expresión de comparación. |
LocaleId { get; set; } | Obtiene o establece el LCID del campo. |
Result { get; set; } | Obtiene o establece el texto que está entre el separador de campo y el final del campo. |
RightExpression { get; set; } | Obtiene o establece la parte derecha de la expresión de comparación. |
Separator { get; } | Obtiene el nodo que representa el separador de campo. Puede sernulo . |
Start { get; } | Obtiene el nodo que representa el inicio del campo. |
TrueText { get; set; } | Obtiene o establece el texto que se muestra si la expresión de comparación es verdadera. |
virtual Type { get; } | Obtiene el tipo de campo de Microsoft Word. |
Métodos
Nombre | Descripción |
---|---|
EvaluateCondition() | Evalúa la condición. |
GetFieldCode() | Devuelve el texto entre el inicio del campo y el separador de campo (o el final del campo si no hay separador). Se incluyen tanto el código de campo como el resultado de campo de los campos secundarios. |
GetFieldCode(bool) | Devuelve el texto entre el inicio del campo y el separador de campo (o el final del campo si no hay separador). |
Remove() | Elimina el campo del documento. Devuelve un nodo justo después del campo. Si el final del campo es el último hijo de su nodo padre, devuelve su párrafo padre. Si el campo ya se ha eliminado, devuelvenulo . |
Unlink() | Realiza la desvinculación del campo. |
Update() | Realiza la actualización del campo. Se lanza una excepción si el campo ya se está actualizando. |
Update(bool) | Realiza una actualización de campo. Se lanza una excepción si el campo ya se está actualizando. |
Observaciones
Compara los valores designados por las expresionesLeftExpression
yRightExpression
en comparación utilizando el operador designado porComparisonOperator
.
Se utilizará un campo con el siguiente formato como fuente de combinación de correspondencia: { IF 0 = 0 “{PatientsNameFML}” "" * MERGEFORMAT }
Ejemplos
Muestra cómo insertar un campo 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";
// El campo SI mostrará una cadena de su propiedad "TrueText",
// o su propiedad "FalseText", dependiendo de la verdad de la declaración que hemos construido.
field.TrueText = "True";
field.FalseText = "False";
field.Update();
// En este caso, "0 = 1" es incorrecto, por lo que el resultado mostrado será "Falso".
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();
// Esta vez la afirmación es correcta, por lo que el resultado mostrado será "Verdadero".
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");
Ver también
- class Field
- espacio de nombres Aspose.Words.Fields
- asamblea Aspose.Words