FieldIndex
Содержание
[
Скрывать
]FieldIndex class
Реализует поле ИНДЕКС.
Чтобы узнать больше, посетитеРабота с полями статья документации.
public class FieldIndex : Field
Конструкторы
Имя | Описание |
---|---|
FieldIndex() | Конструктор по умолчанию. |
Характеристики
Имя | Описание |
---|---|
BookmarkName { get; set; } | Получает или задает имя закладки, которая отмечает часть документа, используемую для построения индекса. |
CrossReferenceSeparator { get; set; } | Получает или задает последовательность символов, которая используется для разделения перекрестных ссылок и других записей. |
DisplayResult { get; } | Получает текст, представляющий результат отображаемого поля. |
End { get; } | Получает узел, представляющий конец поля. |
EntryType { get; set; } | Получает или задает тип записи индекса, используемый для построения индекса. |
Format { get; } | ПолучаетFieldFormat объект, обеспечивающий типизированный доступ к форматированию поля. |
HasPageNumberSeparator { get; } | Получает значение, указывающее, переопределен ли разделитель номеров страниц с помощью кода поля. |
HasSequenceName { get; } | Получает значение, указывающее, следует ли использовать последовательность при построении результата поля. |
Heading { get; set; } | Получает или задает заголовок, который появляется в начале каждого набора записей для любой заданной буквы. |
IsDirty { get; set; } | Получает или устанавливает, является ли текущий результат поля более неправильным (устаревшим) из-за других изменений, внесенных в документ. |
IsLocked { get; set; } | Получает или задает, заблокировано ли поле (не следует пересчитывать результат). |
LanguageId { get; set; } | Получает или задает идентификатор языка, используемый для создания индекса. |
LetterRange { get; set; } | Получает или задает диапазон букв, которым ограничивается индекс. |
LocaleId { get; set; } | Получает или задает LCID поля. |
NumberOfColumns { get; set; } | Получает или задает количество столбцов на странице, используемое при построении индекса. |
PageNumberListSeparator { get; set; } | Получает или задает последовательность символов, которая используется для разделения двух номеров страниц в списке номеров страниц. |
PageNumberSeparator { get; set; } | Получает или задает последовательность символов, которая используется для разделения записи указателя и номера ее страницы. |
PageRangeSeparator { get; set; } | Получает или задает последовательность символов, которая используется для разделения начала и конца диапазона страниц. |
Result { get; set; } | Получает или задает текст, расположенный между разделителем полей и концом поля. |
RunSubentriesOnSameLine { get; set; } | Получает или задает, запускать ли подзаписи в той же строке, что и основная запись. |
Separator { get; } | Получает узел, представляющий разделитель полей. Возможнонулевой . |
SequenceName { get; set; } | Получает или задает имя последовательности, номер которой включен в номер страницы. |
SequenceSeparator { get; set; } | Получает или задает последовательность символов, которая используется для разделения порядковых номеров и номеров страниц. |
Start { get; } | Получает узел, представляющий начало поля. |
virtual Type { get; } | Получает тип поля Microsoft Word. |
UseYomi { get; set; } | Получает или задает, разрешить ли использование текста yomi для записей индекса. |
Методы
Имя | Описание |
---|---|
GetFieldCode() | Возвращает текст между началом поля и разделителем поля (или концом поля, если разделителя нет). Включены как код поля, так и результат поля дочерних полей. |
GetFieldCode(bool) | Возвращает текст между началом поля и разделителем полей (или концом поля, если разделителя нет). |
Remove() | Удаляет поле из документа. Возвращает узел сразу после поля. Если конец поля является последним дочерним его родительского узла, возвращает его родительский абзац. Если поле уже удалено, возвращаетсянулевой . |
Unlink() | Выполняет отсоединение поля. |
Update() | Выполняет обновление поля. Выдает, если поле уже обновляется. |
Update(bool) | Выполняет обновление поля. Выдает, если поле уже обновляется. |
Примечания
Создает индекс, используя записи индекса, указанные в полях XE, и вставляет этот индекс в это место документа.
Примеры
Показывает, как создать поле INDEX, а затем использовать поля XE для заполнения его записями.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Создайте поле INDEX, в котором будет отображаться запись для каждого поля XE, найденного в документе.
// Каждая запись будет отображать значение свойства Text поля XE слева.
// и страница, содержащая поле XE справа.
// Если поля XE имеют одинаковое значение в свойстве «Текст»,
// поле ИНДЕКС сгруппирует их в одну запись.
FieldIndex index = (FieldIndex)builder.InsertField(FieldType.FieldIndex, true);
// Настройте поле INDEX только для отображения полей XE, находящихся в пределах границ
// закладки с именем "MainBookmark", свойства которой "EntryType" имеют значение "A".
// Для полей INDEX и XE свойство «EntryType» использует только первый символ своего строкового значения.
index.BookmarkName = "MainBookmark";
index.EntryType = "A";
Assert.AreEqual(" INDEX \\b MainBookmark \\f A", index.GetFieldCode());
// На новой странице начинаем закладку с именем, соответствующим значению
// свойства BookmarkName поля INDEX.
builder.InsertBreak(BreakType.PageBreak);
builder.StartBookmark("MainBookmark");
// Поле ИНДЕКС выберет эту запись, поскольку она находится внутри закладки,
// и его тип записи также соответствует типу записи поля ИНДЕКС.
FieldXE indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Index entry 1";
indexEntry.EntryType = "A";
Assert.AreEqual(" XE \"Index entry 1\" \\f A", indexEntry.GetFieldCode());
// Вставляем поле XE, которое не появится в INDEX, поскольку типы записей не совпадают.
builder.InsertBreak(BreakType.PageBreak);
indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Index entry 2";
indexEntry.EntryType = "B";
// Завершаем закладку и вставляем после нее поле XE.
// Оно того же типа, что и поле ИНДЕКС, но не появится
// так как оно находится за пределами закладки.
builder.EndBookmark("MainBookmark");
builder.InsertBreak(BreakType.PageBreak);
indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Index entry 3";
indexEntry.EntryType = "A";
doc.UpdatePageLayout();
doc.UpdateFields();
doc.Save(ArtifactsDir + "Field.INDEX.XE.Filtering.docx");
Показывает, как заполнить поле INDEX записями с использованием полей XE, а также изменить его внешний вид.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Создайте поле INDEX, в котором будет отображаться запись для каждого поля XE, найденного в документе.
// Каждая запись будет отображать значение свойства Text поля XE слева,
// и номер страницы, содержащей поле XE справа.
// Если поля XE имеют одинаковое значение в свойстве «Текст»,
// поле ИНДЕКС сгруппирует их в одну запись.
FieldIndex index = (FieldIndex)builder.InsertField(FieldType.FieldIndex, true);
index.LanguageId = "1033";
// Установка значения этого свойства на «A» сгруппирует все записи по первой букве,
// и поместите эту букву в верхнем регистре над каждой группой.
index.Heading = "A";
// Установите таблицу, созданную полем ИНДЕКС, на два столбца.
index.NumberOfColumns = "2";
// Установить любые записи с начальными буквами за пределами диапазона символов «ac», которые будут опущены.
index.LetterRange = "a-c";
Assert.AreEqual(" INDEX \\z 1033 \\h A \\c 2 \\p a-c", index.GetFieldCode());
// Следующие два поля XE будут отображаться под заголовком «A»,
// с соответствующими стилями текста, которые также применяются к номерам страниц.
builder.InsertBreak(BreakType.PageBreak);
FieldXE indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Apple";
indexEntry.IsItalic = true;
Assert.AreEqual(" XE Apple \\i", indexEntry.GetFieldCode());
builder.InsertBreak(BreakType.PageBreak);
indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Apricot";
indexEntry.IsBold = true;
Assert.AreEqual(" XE Apricot \\b", indexEntry.GetFieldCode());
// Оба следующих двух поля XE будут находиться под заголовками «B» и «C» в таблице содержания полей INDEX.
builder.InsertBreak(BreakType.PageBreak);
indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Banana";
builder.InsertBreak(BreakType.PageBreak);
indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Cherry";
// Поля INDEX сортируют все записи в алфавитном порядке, поэтому эта запись будет отображаться под буквой «A» вместе с двумя другими.
builder.InsertBreak(BreakType.PageBreak);
indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Avocado";
// Эта запись не появится, поскольку она начинается с буквы «D»,
// который находится за пределами диапазона символов "ac", который определяет свойство LetterRange поля INDEX.
builder.InsertBreak(BreakType.PageBreak);
indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Durian";
doc.UpdatePageLayout();
doc.UpdateFields();
doc.Save(ArtifactsDir + "Field.INDEX.XE.Formatting.docx");
Смотрите также
- class Field
- пространство имен Aspose.Words.Fields
- сборка Aspose.Words