FieldSection

FieldSection class

Implémente le champ SECTION.

Pour en savoir plus, visitez leTravailler avec des champs article documentaire.

public class FieldSection : Field

Constructeurs

NomLa description
FieldSection()Default_Constructor

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 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 situé entre le séparateur de champ et la fin du champ.
Separator { get; }Obtient le nœud qui représente 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 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 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. 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

Récupère le numéro de la section courante.

Exemples

Montre comment utiliser les champs SECTION et SECTIONPAGES pour numéroter les pages par sections.

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

builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;

// Un champ SECTION affiche le numéro de la section dans laquelle il se trouve.
builder.Write("Section ");
FieldSection fieldSection = (FieldSection)builder.InsertField(FieldType.FieldSection, true);

Assert.AreEqual(" SECTION ", fieldSection.GetFieldCode());

// Un champ PAGE affiche le numéro de la page dans laquelle il se trouve.
builder.Write("\nPage ");
FieldPage fieldPage = (FieldPage)builder.InsertField(FieldType.FieldPage, true);

Assert.AreEqual(" PAGE ", fieldPage.GetFieldCode());

// Un champ SECTIONPAGES affiche le nombre de pages sur lesquelles s'étend la section dans laquelle il se trouve.
builder.Write(" of ");
FieldSectionPages fieldSectionPages = (FieldSectionPages)builder.InsertField(FieldType.FieldSectionPages, true);

Assert.AreEqual(" SECTIONPAGES ", fieldSectionPages.GetFieldCode());

// Sortez de l'en-tête et revenez au document principal et insérez deux pages.
// Toutes ces pages seront dans la première section. Nos champs, qui apparaissent une fois par en-tête,
// numérotera les pages actuelles/totales de cette section.
builder.MoveToDocumentEnd();
builder.InsertBreak(BreakType.PageBreak);
builder.InsertBreak(BreakType.PageBreak);

// Nous pouvons insérer une nouvelle section avec le générateur de documents comme ceci.
// Cela affectera les valeurs affichées dans les champs SECTION et SECTIONPAGES dans tous les en-têtes à venir.
builder.InsertBreak(BreakType.SectionBreakNewPage);

// Le champ PAGE continuera à compter les pages dans tout le document.
// Nous pouvons réinitialiser manuellement son décompte à chaque section pour garder une trace des pages section par section.
builder.CurrentSection.PageSetup.RestartPageNumbering = true;
builder.InsertBreak(BreakType.PageBreak);

doc.UpdateFields();
doc.Save(ArtifactsDir + "Field.SECTION.SECTIONPAGES.docx");

Voir également