Field

Field class

Représente un champ de document Microsoft Word.

public class Field

Propriétés

Nom La 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 unFieldFormat objet 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 (périmé) 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; } Obtient le nœud qui représente le séparateur de champs. Peut être null.
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

Nom La 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 de 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 juste après le champ. Si la fin du champ est le dernier enfant de son nœud parent, renvoie son paragraphe parent. Si le champ est déjà supprimé, renvoie nul .
Unlink() Effectue la dissociation du champ.
Update() Effectue la mise à jour du champ. Lance si le champ est déjà mis à jour.
Update(bool) Effectue une mise à jour du champ. Lance si le champ est déjà mis à jour.

Remarques

Un champ dans un document Word est une structure complexe composée de plusieurs nœuds qui incluent le début du champ, le code de champ , le séparateur de champ, le résultat du champ et la fin du champ. Les champs peuvent être imbriqués, contenir un contenu riche et s’étendre sur plusieurs paragraphes ou sections dans un document. LaFieldLa classe est un objet “façade” qui fournit des propriétés et des méthodes qui permettent de travailler avec un champ comme un seul objet.

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

Le contenu entre le début du champ et le séparateur est le code de champ. Le contenu entre le séparateur de champ the et la fin du champ est le résultat du champ. Le code de champ se compose généralement d’un ou plusieurs Run objets qui spécifient 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 de champ s’appelle la mise à jour de champ. Aspose.Words peut mettre à jour les résultats field de la plupart des types de champs exactement de la même manière que Microsoft Word le fait. 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 laUpdate méthode. Pour mettre à jour les champs dans l’ensemble du document , utilisezUpdateFields.

Vous pouvez obtenir la version en texte brut du code de champ à l’aide de laGetFieldCode method. Vous pouvez obtenir et définir la version en texte brut du résultat du champ à l’aide de laResult propriété. Le code de champ et le résultat du champ peuvent tous deux contenir un contenu complexe, tel que des champs imbriqués, des paragraphes, des formes, des tables 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.That(DateTime.Parse(field.Result), Is.EqualTo(DateTime.Today).Within(1).Days);

Voir également