FieldXE
Inhalt
[
Ausblenden
]FieldXE class
Implementiert das XE-Feld.
Um mehr zu erfahren, besuchen Sie dieArbeiten mit Feldern Dokumentationsartikel.
public class FieldXE : Field
Konstrukteure
Name | Beschreibung |
---|---|
FieldXE() | Default_Constructor |
Eigenschaften
Name | Beschreibung |
---|---|
DisplayResult { get; } | Ruft den Text ab, der das angezeigte Feldergebnis darstellt. |
End { get; } | Ruft den Knoten ab, der das Feldende darstellt. |
EntryType { get; set; } | Ruft einen Indexeintragstyp ab oder legt ihn fest. |
Format { get; } | Erhält eineFieldFormat Objekt, das typisierten Zugriff auf die Formatierung des Felds bietet. |
IsBold { get; set; } | Ruft ab oder legt fest, ob die Seitenzahl des Eintrags fett formatiert werden soll. |
IsDirty { get; set; } | Ruft ab oder legt fest, ob das aktuelle Ergebnis des Felds aufgrund anderer am Dokument vorgenommener Änderungen nicht mehr korrekt (veraltet) ist. |
IsItalic { get; set; } | Ruft ab oder legt fest, ob die Seitenzahl des Eintrags kursiv formatiert werden soll. |
IsLocked { get; set; } | Ruft ab oder legt fest, ob das Feld gesperrt ist (das Ergebnis sollte nicht neu berechnet werden). |
LocaleId { get; set; } | Ruft die LCID des Felds ab oder legt sie fest. |
PageNumberReplacement { get; set; } | Ruft den anstelle einer Seitenzahl verwendeten Text ab oder legt ihn fest. |
PageRangeBookmarkName { get; set; } | Ruft den Namen des Lesezeichens ab oder legt ihn fest, das einen Seitenbereich markiert, der als Seitenzahl des Eintrags eingefügt wird. |
Result { get; set; } | Ruft Text ab oder legt ihn fest, der zwischen Feldtrennzeichen und Feldende steht. |
Separator { get; } | Ruft den Knoten ab, der das Feldtrennzeichen darstellt. Kann seinnull . |
Start { get; } | Ruft den Knoten ab, der den Anfang des Felds darstellt. |
Text { get; set; } | Ruft den Text des Eintrags ab oder legt ihn fest. |
virtual Type { get; } | Ruft den Microsoft Word-Feldtyp ab. |
Yomi { get; set; } | Ruft das Yomi (erstes phonetisches Zeichen zum Sortieren von Indizes) für den Indexeintrag ab oder legt es fest |
Methoden
Name | Beschreibung |
---|---|
GetFieldCode() | Gibt Text zwischen Feldanfang und Feldtrennzeichen zurück (oder Feldende, wenn kein Trennzeichen vorhanden ist). Sowohl Feldcode als auch Feldergebnis von untergeordneten Feldern werden einbezogen. |
GetFieldCode(bool) | Gibt Text zwischen Feldanfang und Feldtrennzeichen zurück (oder Feldende, wenn kein Trennzeichen vorhanden ist). |
Remove() | Entfernt das Feld aus dem Dokument. Gibt einen Knoten direkt nach dem Feld zurück. Wenn das Ende des Felds das letzte Kind seines übergeordneten Knotens ist, wird dessen übergeordneter Absatz zurückgegeben. Wenn das Feld bereits entfernt wurde, wird zurückgegebennull . |
Unlink() | Führt die Feldverknüpfung aus. |
Update() | Führt die Feldaktualisierung durch. Wird ausgelöst, wenn das Feld bereits aktualisiert wird. |
Update(bool) | Führt eine Feldaktualisierung durch. Wird ausgelöst, wenn das Feld bereits aktualisiert wird. |
Bemerkungen
Definiert den Text und die Seitenzahl für einen Indexeintrag, der von einem INDEX-Feld verwendet wird.
Beispiele
Zeigt, wie Sie ein INDEX-Feld erstellen und es dann mithilfe von XE-Feldern mit Einträgen füllen.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Erstellen Sie ein INDEX-Feld, das für jedes im Dokument gefundene XE-Feld einen Eintrag anzeigt.
// Jeder Eintrag zeigt den Text-Eigenschaftswert des XE-Felds auf der linken Seite an
// und die Seite mit dem XE-Feld auf der rechten Seite.
// Wenn die XE-Felder den gleichen Wert in ihrer Eigenschaft "Text" haben,
// Das INDEX-Feld gruppiert sie in einem Eintrag.
FieldIndex index = (FieldIndex)builder.InsertField(FieldType.FieldIndex, true);
// Konfigurieren Sie das INDEX-Feld nur so, dass XE-Felder angezeigt werden, die innerhalb der Grenzen liegen
// eines Lesezeichens mit dem Namen „MainBookmark“, dessen „EntryType“-Eigenschaften den Wert „A“ haben.
// Sowohl für INDEX- als auch für XE-Felder verwendet die Eigenschaft „EntryType“ nur das erste Zeichen ihres Zeichenfolgenwerts.
index.BookmarkName = "MainBookmark";
index.EntryType = "A";
Assert.AreEqual(" INDEX \\b MainBookmark \\f A", index.GetFieldCode());
// Beginnen Sie das Lesezeichen auf einer neuen Seite mit einem Namen, der dem Wert entspricht
// der Eigenschaft „BookmarkName“ des INDEX-Felds.
builder.InsertBreak(BreakType.PageBreak);
builder.StartBookmark("MainBookmark");
// Das INDEX-Feld wird diesen Eintrag aufnehmen, da er sich innerhalb des Lesezeichens befindet.
// und sein Eintragstyp entspricht auch dem Eintragstyp des INDEX-Felds.
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());
// Fügen Sie ein XE-Feld ein, das nicht im INDEX angezeigt wird, da die Eintragstypen nicht übereinstimmen.
builder.InsertBreak(BreakType.PageBreak);
indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Index entry 2";
indexEntry.EntryType = "B";
// Beenden Sie das Lesezeichen und fügen Sie anschließend ein XE-Feld ein.
// Es ist vom gleichen Typ wie das INDEX-Feld, wird aber nicht angezeigt
// da es außerhalb der Grenzen des Lesezeichens liegt.
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");
Zeigt, wie Sie ein INDEX-Feld mithilfe von XE-Feldern mit Einträgen füllen und auch sein Erscheinungsbild ändern.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Erstellen Sie ein INDEX-Feld, das für jedes im Dokument gefundene XE-Feld einen Eintrag anzeigt.
// Jeder Eintrag zeigt auf der linken Seite den Text-Eigenschaftswert des XE-Felds an,
// und die Nummer der Seite, die rechts das XE-Feld enthält.
// Wenn die XE-Felder den gleichen Wert in ihrer Eigenschaft "Text" haben,
// Das INDEX-Feld gruppiert sie in einem Eintrag.
FieldIndex index = (FieldIndex)builder.InsertField(FieldType.FieldIndex, true);
index.LanguageId = "1033";
// Wenn Sie den Wert dieser Eigenschaft auf „A“ setzen, werden alle Einträge nach ihrem Anfangsbuchstaben gruppiert.
// und platzieren Sie diesen Buchstaben als Großbuchstaben über jeder Gruppe.
index.Heading = "A";
// Legen Sie fest, dass die durch das INDEX-Feld erstellte Tabelle sich über zwei Spalten erstreckt.
index.NumberOfColumns = "2";
// Legen Sie fest, dass alle Einträge mit Anfangsbuchstaben außerhalb des Zeichenbereichs „ac“ weggelassen werden.
index.LetterRange = "a-c";
Assert.AreEqual(" INDEX \\z 1033 \\h A \\c 2 \\p a-c", index.GetFieldCode());
// Die nächsten beiden XE-Felder werden unter der Überschrift „A“ angezeigt.
// mit den jeweiligen Textformatierungen, die auch auf die Seitenzahlen angewendet werden.
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());
// Die nächsten beiden XE-Felder stehen im Inhaltsverzeichnis der INDEX-Felder unter der Überschrift „B“ und „C“.
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-Felder sortieren alle Einträge alphabetisch, sodass dieser Eintrag mit den anderen beiden unter „A“ angezeigt wird.
builder.InsertBreak(BreakType.PageBreak);
indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Avocado";
// Dieser Eintrag wird nicht angezeigt, da er mit dem Buchstaben "D" beginnt,
// der außerhalb des „ac“-Zeichenbereichs liegt, der durch die LetterRange-Eigenschaft des INDEX-Felds definiert wird.
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");
Siehe auch
- class Field
- namensraum Aspose.Words.Fields
- Montage Aspose.Words