FieldIndex

FieldIndex class

INDEX alanını uygular.

Daha fazlasını öğrenmek için şu adresi ziyaret edin:Alanlarla Çalışmak dokümantasyon makalesi.

public class FieldIndex : Field

yapıcılar

İsimTanım
FieldIndex()Default_Constructor

Özellikleri

İsimTanım
BookmarkName { get; set; }Dizini oluşturmak için kullanılan belgenin bölümünü işaretleyen yer işaretinin adını alır veya ayarlar.
CrossReferenceSeparator { get; set; }Çapraz referansları ve diğer girişleri ayırmak için kullanılan karakter dizisini alır veya ayarlar.
DisplayResult { get; }Görüntülenen alan sonucunu temsil eden metni alır.
End { get; }Alan sonunu temsil eden düğümü alır.
EntryType { get; set; }Dizini oluşturmak için kullanılan dizin giriş türünü alır veya ayarlar.
Format { get; }Bir alırFieldFormat Alanın formatlamasına yazılı erişim sağlayan nesne.
HasPageNumberSeparator { get; }Alanın kodu aracılığıyla sayfa numarası ayırıcısının geçersiz kılınıp kılınmadığını belirten bir değer alır.
HasSequenceName { get; }Alanın sonuç oluşturulurken bir sıranın kullanılıp kullanılmayacağını belirten bir değer alır.
Heading { get; set; }Verilen herhangi bir harf için her giriş kümesinin başında görünen başlığı alır veya ayarlar.
IsDirty { get; set; }Belgede yapılan diğer değişiklikler nedeniyle alanın geçerli sonucunun artık doğru (eski) olup olmadığını alır veya ayarlar.
IsLocked { get; set; }Alanın kilitli olup olmadığını alır veya ayarlar (sonucu yeniden hesaplanmamalıdır).
LanguageId { get; set; }Dizini oluşturmak için kullanılan dil kimliğini alır veya ayarlar.
LetterRange { get; set; }Dizini sınırlayan harf aralığını alır veya ayarlar.
LocaleId { get; set; }Alanın LCID’sini alır veya ayarlar.
NumberOfColumns { get; set; }Dizini oluştururken sayfa başına kullanılan sütun sayısını alır veya ayarlar.
PageNumberListSeparator { get; set; }Sayfa numarası listesindeki iki sayfa numarasını ayırmak için kullanılan karakter sırasını alır veya ayarlar.
PageNumberSeparator { get; set; }Bir dizin girişini ve onun sayfa numarasını ayırmak için kullanılan karakter sırasını alır veya ayarlar.
PageRangeSeparator { get; set; }Sayfa aralığının başlangıcını ve sonunu ayırmak için kullanılan karakter sırasını alır veya ayarlar.
Result { get; set; }Alan ayırıcı ile alan sonu arasındaki metni alır veya ayarlar.
RunSubentriesOnSameLine { get; set; }Alt girişlerin ana girişle aynı satırda çalıştırılıp çalıştırılmayacağını alır veya ayarlar.
Separator { get; }Alan ayırıcıyı temsil eden düğümü alır. Olabilirhükümsüz .
SequenceName { get; set; }Numarası sayfa numarasına dahil edilen bir dizinin adını alır veya ayarlar.
SequenceSeparator { get; set; }Sıra numaralarını ve sayfa numaralarını ayırmak için kullanılan karakter sırasını alır veya ayarlar.
Start { get; }Alanın başlangıcını temsil eden düğümü alır.
virtual Type { get; }Microsoft Word alan türünü alır.
UseYomi { get; set; }Dizin girişleri için yomi metni kullanımının etkinleştirilip etkinleştirilmeyeceğini alır veya ayarlar.

yöntemler

İsimTanım
GetFieldCode()Alan başlangıcı ile alan ayırıcı (veya ayırıcı yoksa alan sonu) arasındaki metni döndürür. Alt alanların hem alan kodu hem de alan sonucu dahil edilir.
GetFieldCode(bool)Alan başlangıcı ile alan ayırıcı (veya ayırıcı yoksa alan sonu) arasındaki metni döndürür.
Remove()Alanı belgeden kaldırır. Alanın hemen ardından bir düğüm döndürür. Alanın sonu, üst düğümünün son child ‘si ise, üst paragrafını döndürür. Alan zaten kaldırılmışsa şunu döndürür:hükümsüz .
Unlink()Alanın bağlantısını kaldırır.
Update()Alan güncellemesini gerçekleştirir. Alan zaten güncelleniyorsa atar.
Update(bool)Bir alan güncellemesi gerçekleştirir. Alan zaten güncelleniyorsa atar.

Notlar

XE alanları tarafından belirtilen dizin girişlerini kullanarak bir dizin oluşturur ve bu dizini belgedeki bu yere ekler.

Örnekler

Bir INDEX alanının nasıl oluşturulacağını ve ardından onu girişlerle doldurmak için XE alanlarının nasıl kullanılacağını gösterir.

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

// Belgede bulunan her XE alanı için bir giriş görüntüleyecek bir INDEX alanı oluşturun.
// Her girişte XE alanının Text özelliği değeri sol tarafta görüntülenecektir
// ve sağda XE alanını içeren sayfa.
// XE alanlarının "Text" özelliğinde aynı değer varsa,
// INDEX alanı bunları tek bir girişte gruplandıracaktır.
FieldIndex index = (FieldIndex)builder.InsertField(FieldType.FieldIndex, true);

// INDEX alanını yalnızca sınırlar içindeki XE alanlarını görüntüleyecek şekilde yapılandırın
// "MainBookmark" adlı ve "EntryType" özellikleri "A" değerine sahip olan bir yer işaretinin.
// Hem INDEX hem de XE alanları için "EntryType" özelliği dize değerinin yalnızca ilk karakterini kullanır.
index.BookmarkName = "MainBookmark";
index.EntryType = "A";

Assert.AreEqual(" INDEX  \\b MainBookmark \\f A", index.GetFieldCode());

// Yeni bir sayfada yer imini değerle eşleşen bir adla başlatın
// INDEX alanının "BookmarkName" özelliğinin.
builder.InsertBreak(BreakType.PageBreak);
builder.StartBookmark("MainBookmark");

// INDEX alanı bu girişi alacaktır çünkü bu yer iminin içindedir,
// ve giriş türü aynı zamanda INDEX alanının giriş türüyle de eşleşir.
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());

// Giriş türleri eşleşmediğinden INDEX'te görünmeyecek bir XE alanı ekleyin.
builder.InsertBreak(BreakType.PageBreak);
indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Index entry 2";
indexEntry.EntryType = "B";

// Yer imini sonlandırın ve ardından bir XE alanı ekleyin.
// INDEX alanıyla aynı türdedir ancak görünmez
// yer iminin sınırlarının dışında olduğundan.
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");

Bir INDEX alanının XE alanlarını kullanarak girişlerle nasıl doldurulacağını ve ayrıca görünümünün nasıl değiştirileceğini gösterir.

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

// Belgede bulunan her XE alanı için bir giriş görüntüleyecek bir INDEX alanı oluşturun.
// Her girişte XE alanının Text özelliği değeri sol tarafta görüntülenecektir,
// ve sağdaki XE alanını içeren sayfanın numarası.
// XE alanlarının "Text" özelliğinde aynı değer varsa,
// INDEX alanı bunları tek bir girişte gruplandıracaktır.
FieldIndex index = (FieldIndex)builder.InsertField(FieldType.FieldIndex, true);
index.LanguageId = "1033";

// Bu özelliğin değerini "A" olarak ayarlamak tüm girişleri ilk harflerine göre gruplandıracaktır,
// ve o harfi her grubun üstüne büyük harfle yerleştir.
index.Heading = "A";

// INDEX alanı tarafından oluşturulan tabloyu 2 sütuna yayılacak şekilde ayarlayın.
index.NumberOfColumns = "2";

// "ac" karakter aralığının dışında kalan başlangıç harflerine sahip tüm girişleri atlanacak şekilde ayarlayın.
index.LetterRange = "a-c";

Assert.AreEqual(" INDEX  \\z 1033 \\h A \\c 2 \\p a-c", index.GetFieldCode());

// Sonraki iki XE alanı "A" başlığı altında görünecek,
// ilgili metin stilleri sayfa numaralarına da uygulanır.
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());

// Sonraki iki XE alanının her ikisi de INDEX alanları içindekiler tablosunda "B" ve "C" başlığı altında olacaktır.
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 alanları tüm girişleri alfabetik olarak sıralar, böylece bu giriş diğer ikisiyle birlikte "A" altında görünecektir.
builder.InsertBreak(BreakType.PageBreak);
indexEntry = (FieldXE)builder.InsertField(FieldType.FieldIndexEntry, true);
indexEntry.Text = "Avocado";

// Bu girdi "D" harfiyle başladığı için görünmeyecektir,
// INDEX alanının LetterRange özelliğinin tanımladığı "ac" karakter aralığının dışındadır.
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");

Ayrıca bakınız