Field

Field class

Représente un champ de document Microsoft Word.

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

public class Field

Propriétés

NomLa description
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.
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).
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.
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.
virtual Type { get; }Obtient le type de champ Microsoft Word.

Méthodes

NomLa description
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

Dans un document Word, un champ est une structure complexe composée de plusieurs nœuds, notamment le début du champ, le code du champ, le séparateur du champ, le résultat du champ et la fin du champ. Les champs peuvent être imbriqués, contenir du contenu riche et s’étendre sur plusieurs paragraphes ou sections d’un document.Field class est un objet « façade » qui fournit propriétés et méthodes qui permettent de travailler avec un champ comme un objet unique.

LeStart ,Separator etEnd les propriétés pointent respectivement vers les nœuds de début, de séparation et de fin du champ .

Le contenu entre le début et le séparateur du champ constitue le code du champ. Le contenu entre le séparateur et la fin du champ constitue le résultat du champ. Le code du champ est généralement composé d’un ou plusieurs éléments.Run Objets spécifiant des instructions. L’application de traitement doit exécuter le code de champ pour calculer le résultat du champ.

Le processus de calcul des résultats des champs est appelé « mise à jour de champ ». Aspose.Words peut mettre à jour les résultats field de la plupart des types de champs, exactement comme Microsoft Word. Plus particulièrement, Aspose.Words peut calculer les résultats des champs de formule les plus complexes. Pour calculer le résultat field d’un seul champ, utilisez la commandeUpdate méthode. Pour mettre à jour les champs de l’ensemble du document , utilisezUpdateFields.

Vous pouvez obtenir la version texte brut du code de champ en utilisant leGetFieldCodeméthode. Vous pouvez obtenir et définir la version en texte brut du résultat du champ à l’aide de laResult property. Le code du champ et le résultat du champ peuvent contenir du contenu complexe, tel que des champs imbriqués, des paragraphes, des formes, des tableaux et dans ce cas, vous souhaiterez peut-être travailler directement avec les nœuds de champ si vous avez besoin de plus de contrôle.

Vous ne créez pas d’instances deField classe directement. Pour créer un nouveau champ, utilisez leInsertField méthode.

Exemples

Montre comment insérer un champ dans un document à l’aide d’un code de champ.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Field field = builder.InsertField("DATE \\@ \"dddd, MMMM dd, yyyy\"");

Assert.AreEqual(FieldType.FieldDate, field.Type);
Assert.AreEqual("DATE \\@ \"dddd, MMMM dd, yyyy\"", field.GetFieldCode());

// Cette surcharge de la méthode InsertField met automatiquement à jour les champs insérés.
Assert.True((DateTime.Today - DateTime.Parse(field.Result)).Days <= 1);

Voir également