EntryType
内容
[
隐藏
]FieldIndex.EntryType property
获取或设置用于构建索引的索引条目类型。
public string EntryType { get; set; }
例子
演示如何创建 INDEX 字段,然后使用 XE 字段用条目填充该字段。
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// 创建一个 INDEX 字段,它将显示文档中找到的每个 XE 字段的条目。
// 每个条目都会在左侧显示XE字段的Text属性值
// 以及右侧包含 XE 字段的页面。
// 如果 XE 字段的“Text”属性具有相同的值,
// INDEX 字段会将它们分组为一个条目。
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());
// 在新页面上,以与值匹配的名称开始书签
// INDEX 字段的“BookmarkName”属性。
builder.InsertBreak(BreakType.PageBreak);
builder.StartBookmark("MainBookmark");
// INDEX 字段将拾取此条目,因为它位于书签内,
// 并且它的条目类型也与 INDEX 字段的条目类型匹配。
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());
// 插入一个不会出现在 INDEX 中的 XE 字段,因为条目类型不匹配。
builder.InsertBreak(BreakType.PageBreak);
indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Index entry 2";
indexEntry.EntryType = "B";
// 结束书签并随后插入 XE 字段。
// 与INDEX字段类型相同,但不会出现
// 因为它超出了书签的边界。
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");
也可以看看
- class FieldIndex
- 命名空间 Aspose.Words.Fields
- 部件 Aspose.Words