FieldSectionPages

FieldSectionPages class

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

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

public class FieldSectionPages : Field

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

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

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

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

Методы

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

Примечания

Возвращает номер текущей страницы в текущем разделе.

Примеры

Показывает, как использовать поля SECTION и SECTIONPAGES для нумерации страниц по разделам.

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

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

// Поле РАЗДЕЛ отображает номер раздела, в котором оно находится.
builder.Write("Section ");
FieldSection fieldSection = (FieldSection)builder.InsertField(FieldType.FieldSection, true);

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

// Поле СТРАНИЦА отображает номер страницы, на которой оно находится.
builder.Write("\nPage ");
FieldPage fieldPage = (FieldPage)builder.InsertField(FieldType.FieldPage, true);

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

// Поле SECTIONPAGES отображает количество страниц, которые охватывает раздел, в котором оно находится.
builder.Write(" of ");
FieldSectionPages fieldSectionPages = (FieldSectionPages)builder.InsertField(FieldType.FieldSectionPages, true);

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

// Переместитесь из заголовка обратно в основной документ и вставьте две страницы.
// Все эти страницы будут в первом разделе. Наши поля, которые появляются один раз в каждом заголовке,
// пронумерует текущие/общие страницы этого раздела.
builder.MoveToDocumentEnd();
builder.InsertBreak(BreakType.PageBreak);
builder.InsertBreak(BreakType.PageBreak);

// Мы можем вставить новый раздел с помощью конструктора документов следующим образом.
// Это повлияет на значения, отображаемые в полях SECTION и SECTIONPAGES во всех последующих заголовках.
builder.InsertBreak(BreakType.SectionBreakNewPage);

// Поле СТРАНИЦА будет продолжать подсчет страниц по всему документу.
// Мы можем вручную сбросить его счетчик в каждом разделе, чтобы отслеживать страницы раздел за разделом.
builder.CurrentSection.PageSetup.RestartPageNumbering = true;
builder.InsertBreak(BreakType.PageBreak);

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

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