FieldMergeField

FieldMergeField class

MERGEFIELD alanını uygular.

Daha fazla bilgi edinmek için şu adresi ziyaret edin:Alanlarla Çalışma belgeleme makalesi.

public class FieldMergeField : Field

Özellikleri

İsimTanım
DisplayResult { get; }Görüntülenen alan sonucunu temsil eden metni alır.
End { get; }Alan sonunu temsil eden düğümü alır.
FieldName { get; set; }Bir veri alanının adını alır veya ayarlar.
FieldNameNoPrefix { get; }Sadece veri alanının adını döndürür. Herhangi bir önek, önek özelliğine soyulur.
Format { get; }Bir tane alırFieldFormatalanın biçimlendirmesine yazılmış erişim sağlayan nesne.
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 (sonucunu yeniden hesaplamamalıdır).
IsMapped { get; set; }Bu alanın eşlenmiş bir alan olup olmadığını alır veya ayarlar.
IsVerticalFormatting { get; set; }Dikey biçimlendirme için karakter dönüşümünün etkinleştirilip etkinleştirilmeyeceğini alır veya ayarlar.
LocaleId { get; set; }Alanın LCID’sini alır veya ayarlar.
Result { get; set; }Alan ayırıcısı ile alan sonu arasındaki metni alır veya ayarlar.
Separator { get; }Alan ayırıcısını temsil eden düğümü alır.hükümsüz .
Start { get; }Alanın başlangıcını temsil eden düğümü alır.
TextAfter { get; set; }Alan boş değilse, alandan sonra eklenecek metni alır veya ayarlar.
TextBefore { get; set; }Alan boş değilse, alandan önce eklenecek metni alır veya ayarlar.
override Type { get; }Microsoft Word alan türünü alır.

yöntemler

İsimTanım
GetFieldCode()Alan başlangıcı ile alan ayırıcısı (veya ayırıcı yoksa alan sonu) arasındaki metni döndürür. Hem alan kodu hem de alt alanların alan sonucu dahil edilir.
GetFieldCode(bool)Alan başlangıcı ile alan ayırıcısı (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 alt ‘siyse, üst paragrafını döndürür. Alan zaten kaldırılmışsa, şunu döndürürhükümsüz .
Unlink()Alan bağlantısını kaldırma işlemini gerçekleştirir.
Update()Alan güncellemesini gerçekleştirir. Alan zaten güncelleniyorsa fırlatır.
Update(bool)Bir alan güncellemesi gerçekleştirir. Alan zaten güncelleniyorsa fırlatır.

Notlar

Bir posta birleştirme ana belgesindeki birleştirme karakterleri içindeki bir veri alanının adını alır. Ana belge seçili veri kaynağıyla birleştirildiğinde, belirtilen veri alanından gelen bilgiler birleştirme alanının yerine eklenir.

Örnekler

MERGEFIELD alanlarının bir posta birleştirme işlemini gerçekleştirmek için nasıl kullanılacağını gösterir.

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

// Posta birleştirme veri kaynağı olarak kullanılacak bir veri tablosu oluşturun.
DataTable table = new DataTable("Employees");
table.Columns.Add("Courtesy Title");
table.Columns.Add("First Name");
table.Columns.Add("Last Name");
table.Rows.Add("Mr.", "John", "Doe");
table.Rows.Add("Mrs.", "Jane", "Cardholder");

// Veri kaynağındaki bir sütunun adına ayarlanmış bir FieldName özelliğine sahip bir MERGEFIELD ekleyin.
FieldMergeField fieldMergeField = (FieldMergeField)builder.InsertField(FieldType.FieldMergeField, true);
fieldMergeField.FieldName = "Courtesy Title";
fieldMergeField.IsMapped = true;
fieldMergeField.IsVerticalFormatting = false;

// Birleştirme gerçekleştiğinde bu alanın kabul edeceği değerin önüne ve arkasına metin uygulayabiliriz.
fieldMergeField.TextBefore = "Dear ";
fieldMergeField.TextAfter = " ";

Assert.AreEqual(" MERGEFIELD  \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.GetFieldCode());
Assert.AreEqual(FieldType.FieldMergeField, fieldMergeField.Type);

// Veri kaynağındaki farklı bir sütun için başka bir MERGEFIELD ekleyin.
fieldMergeField = (FieldMergeField)builder.InsertField(FieldType.FieldMergeField, true);
fieldMergeField.FieldName = "Last Name";
fieldMergeField.TextAfter = ":";

doc.UpdateFields();
doc.MailMerge.Execute(table);

Assert.AreEqual("Dear Mr. Doe:\u000cDear Mrs. Cardholder:", doc.GetText().Trim());

Ayrıca bakınız