FieldMergingArgs
İçindekiler
[
Saklamak
]FieldMergingArgs class
Şunun için veri sağlar:Birleştirme Alanı olay.
Daha fazla bilgi edinmek için şu adresi ziyaret edin:Posta Birleştirme ve Raporlama belgeleme makalesi.
public class FieldMergingArgs : FieldMergingArgsBase
Özellikleri
İsim | Tanım |
---|---|
Document { get; } | şunu döndürür:Document posta birleştirme işleminin gerçekleştirildiği nesne. |
DocumentFieldName { get; } | Belgede belirtilen birleştirme alanının adını alır. |
Field { get; } | Geçerli birleştirme alanını temsil eden nesneyi alır. |
FieldName { get; } | Veri kaynağındaki birleştirme alanının adını alır. |
FieldValue { get; set; } | Alanın değerini veri kaynağından alır veya ayarlar. |
RecordIndex { get; } | Birleştirilen kaydın sıfır tabanlı dizinini alır. |
TableName { get; } | Geçerli birleştirme işlemi için veri tablosunun adını veya ad mevcut değilse boş dizeyi alır. |
Text { get; set; } | Geçerli birleştirme alanı için belgeye eklenecek metni alır veya ayarlar. |
Notlar
TheBirleştirme Alanı olay, belgede basit bir mail merge alanıyla karşılaşıldığında posta birleştirme sırasında meydana gelir. Bu olaya, posta birleştirme motorunun belgeye eklemesi için return metnini göndermek üzere yanıt verebilirsiniz.
Örnekler
HTML belgeleri biçiminde birleştirme verilerini işleyen özel bir geri aramayla bir posta birleştirmenin nasıl yürütüleceğini gösterir.
public void MergeHtml()
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.InsertField(@"MERGEFIELD html_Title \b Content");
builder.InsertField(@"MERGEFIELD html_Body \b Content");
object[] mergeData =
{
"<html>" +
"<h1>" +
"<span style=\"color: #0000ff; font-family: Arial;\">Hello World!</span>" +
"</h1>" +
"</html>",
"<html>" +
"<blockquote>" +
"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>" +
"</blockquote>" +
"</html>"
};
doc.MailMerge.FieldMergingCallback = new HandleMergeFieldInsertHtml();
doc.MailMerge.Execute(new[] { "html_Title", "html_Body" }, mergeData);
doc.Save(ArtifactsDir + "MailMergeEvent.MergeHtml.docx");
}
/// <summary>
/// Posta birleştirme işlemi, adı "html_" önekiyle başlayan bir MERGEFIELD ile karşılaşırsa,
/// bu geri çağırma birleştirme verilerini HTML içeriği olarak ayrıştırır ve sonucu MERGEFIELD'ın belge konumuna ekler.
/// </summary>
private class HandleMergeFieldInsertHtml : IFieldMergingCallback
{
/// <summary>
/// Bir posta birleştirme işlemi verileri bir MERGEFIELD'a birleştirdiğinde çağrılır.
/// </summary>
void IFieldMergingCallback.FieldMerging(FieldMergingArgs args)
{
if (args.DocumentFieldName.StartsWith("html_") && args.Field.GetFieldCode().Contains("\\b"))
{
// Ayrıştırılmış HTML verilerini belgenin gövdesine ekle.
DocumentBuilder builder = new DocumentBuilder(args.Document);
builder.MoveToMergeField(args.DocumentFieldName);
builder.InsertHtml((string)args.FieldValue);
// Birleştirilmiş içeriği zaten manuel olarak eklediğimizden,
// Bu olaya "Metin" özelliği aracılığıyla içerik döndürerek yanıt vermemize gerek kalmayacak.
args.Text = string.Empty;
}
}
void IFieldMergingCallback.ImageFieldMerging(ImageFieldMergingArgs args)
{
// Hiçbir şey yapmayın.
}
}
Ayrıca bakınız
- class FieldMergingArgsBase
- ad alanı Aspose.Words.MailMerging
- toplantı Aspose.Words