FieldIndex
Innehåll
[
Dölj
]FieldIndex class
Implementerar INDEX-fältet.
För att lära dig mer, besökArbeta med fält dokumentationsartikel.
public class FieldIndex : Field
Konstruktörer
namn | Beskrivning |
---|---|
FieldIndex() | Default_Constructor |
Egenskaper
namn | Beskrivning |
---|---|
BookmarkName { get; set; } | Hämtar eller anger namnet på bokmärket som markerar den del av dokumentet som används för att bygga indexet. |
CrossReferenceSeparator { get; set; } | Hämtar eller anger teckensekvensen som används för att separera korsreferenser och andra poster. |
DisplayResult { get; } | Hämtar texten som representerar det visade fältresultatet. |
End { get; } | Hämtar noden som representerar fältets slut. |
EntryType { get; set; } | Hämtar eller anger en indexposttyp som används för att bygga indexet. |
Format { get; } | Får enFieldFormat objekt som ger typad åtkomst till fältets formatering. |
HasPageNumberSeparator { get; } | Hämtar ett värde som anger om en sidnummeravgränsare åsidosätts genom fältets kod. |
HasSequenceName { get; } | Hämtar ett värde som anger om en sekvens ska användas medan fältets resultat skapas. |
Heading { get; set; } | Hämtar eller anger en rubrik som visas i början av varje uppsättning poster för en given bokstav. |
IsDirty { get; set; } | Hämtar eller anger om det aktuella resultatet av fältet inte längre är korrekt (inaktuellt) på grund av andra ändringar som gjorts i dokumentet. |
IsLocked { get; set; } | Hämtar eller anger om fältet är låst (resultatet ska inte beräknas om). |
LanguageId { get; set; } | Hämtar eller anger språk-ID:t som används för att generera indexet. |
LetterRange { get; set; } | Hämtar eller ställer in ett intervall av bokstäver som begränsar indexet. |
LocaleId { get; set; } | Hämtar eller ställer in fältets LCID. |
NumberOfColumns { get; set; } | Hämtar eller anger antalet kolumner per sida som används vid uppbyggnad av indexet. |
PageNumberListSeparator { get; set; } | Hämtar eller anger teckensekvensen som används för att separera två sidnummer i en sidnummerlista. |
PageNumberSeparator { get; set; } | Hämtar eller anger teckensekvensen som används för att separera en indexpost och dess sidnummer. |
PageRangeSeparator { get; set; } | Hämtar eller anger teckensekvensen som används för att separera början och slutet av ett sidintervall. |
Result { get; set; } | Hämtar eller anger text som är mellan fältavgränsaren och fältslutet. |
RunSubentriesOnSameLine { get; set; } | Hämtar eller anger om underposter ska köras på samma rad som huvudposten. |
Separator { get; } | Hämtar noden som representerar fältseparatorn. Kan varanull . |
SequenceName { get; set; } | Hämtar eller anger namnet på en sekvens vars nummer ingår i sidnumret. |
SequenceSeparator { get; set; } | Hämtar eller anger teckensekvensen som används för att separera sekvensnummer och sidnummer. |
Start { get; } | Hämtar noden som representerar början av fältet. |
virtual Type { get; } | Hämtar fälttypen Microsoft Word. |
UseYomi { get; set; } | Hämtar eller anger om användning av yomi-text för indexposter ska aktiveras. |
Metoder
namn | Beskrivning |
---|---|
GetFieldCode() | Returnerar text mellan fältstart och fältavgränsare (eller fältslut om det inte finns någon avgränsare). Både fältkod och fältresultat för underfält inkluderas. |
GetFieldCode(bool) | Returnerar text mellan fältstart och fältavgränsare (eller fältslut om det inte finns någon avgränsare). |
Remove() | Tar bort fältet från dokumentet. Returnerar en nod direkt efter fältet. Om fältets slut är den sista undernoden till dess överordnade nod, returneras dess överordnade stycke. Om fältet redan är borttaget returnerasnull . |
Unlink() | Utför fältavkopplingen. |
Update() | Utför fältuppdateringen. Körs om fältet redan uppdateras. |
Update(bool) | Utför en fältuppdatering. Körs om fältet redan uppdateras. |
Anmärkningar
Skapar ett index med hjälp av indexposterna som anges av XE-fält och infogar det indexet på denna plats i dokumentet.
Exempel
Visar hur man skapar ett INDEX-fält och sedan använder XE-fält för att fylla det med poster.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Skapa ett INDEX-fält som visar en post för varje XE-fält som finns i dokumentet.
// Varje post visar XE-fältets egenskapsvärde för text på vänster sida
// och sidan som innehåller XE-fältet till höger.
// Om XE-fälten har samma värde i sin "Text"-egenskap,
// INDEX-fältet grupperar dem i en post.
FieldIndex index = (FieldIndex)builder.InsertField(FieldType.FieldIndex, true);
// Konfigurera INDEX-fältet för att endast visa XE-fält som ligger inom gränserna
// av ett bokmärke med namnet "MainBookmark", och vars "EntryType"-egenskaper har värdet "A".
// För både INDEX- och XE-fälten använder egenskapen "EntryType" endast det första tecknet i sitt strängvärde.
index.BookmarkName = "MainBookmark";
index.EntryType = "A";
Assert.AreEqual(" INDEX \\b MainBookmark \\f A", index.GetFieldCode());
// På en ny sida, börja bokmärket med ett namn som matchar värdet
// av INDEX-fältets egenskap "BookmarkName".
builder.InsertBreak(BreakType.PageBreak);
builder.StartBookmark("MainBookmark");
// INDEX-fältet kommer att hämta den här posten eftersom den finns inuti bokmärket,
// och dess posttyp matchar även INDEX-fältets posttyp.
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());
// Infoga ett XE-fält som inte kommer att visas i INDEX eftersom posttyperna inte matchar.
builder.InsertBreak(BreakType.PageBreak);
indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Index entry 2";
indexEntry.EntryType = "B";
// Avsluta bokmärket och infoga ett XE-fält efteråt.
// Det är av samma typ som INDEX-fältet, men kommer inte att visas
// eftersom det ligger utanför bokmärkets gränser.
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");
Visar hur man fyller ett INDEX-fält med poster med hjälp av XE-fält, och även ändrar dess utseende.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Skapa ett INDEX-fält som visar en post för varje XE-fält som finns i dokumentet.
// Varje post visar XE-fältets egenskapsvärde för Text på vänster sida,
// och numret på sidan som innehåller XE-fältet till höger.
// Om XE-fälten har samma värde i sin "Text"-egenskap,
// INDEX-fältet grupperar dem i en post.
FieldIndex index = (FieldIndex)builder.InsertField(FieldType.FieldIndex, true);
index.LanguageId = "1033";
// Om du ställer in egenskapens värde på "A" grupperas alla poster efter deras första bokstav,
// och placera den bokstaven med versal ovanför varje grupp.
index.Heading = "A";
// Ställ in tabellen som skapas av INDEX-fältet så att den sträcker sig över 2 kolumner.
index.NumberOfColumns = "2";
// Ställ in alla poster med startbokstäver utanför teckenintervallet "ac" som utelämnade.
index.LetterRange = "a-c";
Assert.AreEqual(" INDEX \\z 1033 \\h A \\c 2 \\p a-c", index.GetFieldCode());
// Dessa två nästa XE-fält kommer att visas under rubriken "A",
// med deras respektive textformateringar även tillämpade på deras sidnummer.
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());
// Båda de två nästföljande XE-fälten kommer att finnas under rubrikerna "B" och "C" i innehållsförteckningen för INDEX-fälten.
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-fält sorterar alla poster alfabetiskt, så den här posten visas under "A" med de andra två.
builder.InsertBreak(BreakType.PageBreak);
indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Avocado";
// Den här posten visas inte eftersom den börjar med bokstaven "D",
// vilket ligger utanför teckenintervallet "ac" som definieras av egenskapen LetterRange i INDEX-fältet.
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");
Se även
- class Field
- namnutrymme Aspose.Words.Fields
- hopsättning Aspose.Words