MappedDataFieldCollection
İçindekiler
[
Saklamak
]MappedDataFieldCollection class
Veri kaynağınızdaki alan adları ile belgedeki adres-mektup birleştirme alanlarının adları arasında otomatik olarak eşleme yapılmasına olanak tanır.
Daha fazlasını öğrenmek için şu adresi ziyaret edin:Adres Mektup Birleştirme ve Raporlama dokümantasyon makalesi.
public class MappedDataFieldCollection : IEnumerable<KeyValuePair<string, string>>
Özellikleri
İsim | Tanım |
---|---|
Count { get; } | Koleksiyonda yer alan öğelerin sayısını alır. |
Item { get; set; } | Belirtilen adres-mektup birleştirme alanıyla ilişkili veri kaynağındaki alanın adını alır veya ayarlar. |
yöntemler
İsim | Tanım |
---|---|
Add(string, string) | Yeni bir alan eşlemesi ekler. |
Clear() | Koleksiyondaki tüm öğeleri kaldırır. |
ContainsKey(string) | Koleksiyonda belgede belirtilen alandan bir eşlemenin mevcut olup olmadığını belirler. |
ContainsValue(string) | Koleksiyonda veri kaynağındaki belirtilen alandan bir eşlemenin mevcut olup olmadığını belirler. |
GetEnumerator() | Koleksiyondaki tüm öğeler üzerinde yineleme yapmak için kullanılabilecek bir sözlük numaralandırıcı nesnesini döndürür. |
Remove(string) | Alan eşlemesini kaldırır. |
Notlar
Bu, dize anahtarlarının dize değerlerine toplanması olarak uygulanır. Anahtarlar, belgedeki adres-mektup birleştirme alanlarının adlarıdır ve değerler , veri kaynağınızdaki alanların adlarıdır.
Örnekler
Adres-mektup birleştirme sırasında verilerin aralarında aktarılması için veri sütunlarının ve MERGEFIELD’lerin farklı adlarla nasıl eşleneceğini gösterir.
public void MappedDataFieldCollection()
{
Document doc = CreateSourceDocMappedDataFields();
DataTable dataTable = CreateSourceTableMappedDataFields();
// Tabloda "Column2" adında bir sütun var ancak bu adda MERGEFIELD yok.
// Ayrıca "Column3" adında bir MERGEFIELD'ımız var ancak veri kaynağında bu isimde bir sütun yok.
// "Sütun2"deki veriler "Sütun3" MERGEFIELD için uygunsa,
// bu sütun adını "MappedDataFields" anahtar/değer çiftindeki MERGEFIELD ile eşleyebiliriz.
MappedDataFieldCollection mappedDataFields = doc.MailMerge.MappedDataFields;
// Bir veri kaynağı sütun adını bunun gibi bir MERGEFIELD ismine bağlayabiliriz.
mappedDataFields.Add("MergeFieldName", "DataSourceColumnName");
// "Column2" adlı veri kaynağı sütununu "Column3" adlı MERGEFIELD'lere bağlayın.
mappedDataFields.Add("Column3", "Column2");
// MERGEFIELD adı, ilgili veri kaynağı sütun adı "değer"in "anahtarıdır".
Assert.AreEqual("DataSourceColumnName", mappedDataFields["MergeFieldName"]);
Assert.True(mappedDataFields.ContainsKey("MergeFieldName"));
Assert.True(mappedDataFields.ContainsValue("DataSourceColumnName"));
// Şimdi bu adres-mektup birleştirmeyi çalıştırırsak, "Sütun3" MERGEFIELD'ler tablonun "Sütun2"sinden veri alacaktır.
doc.MailMerge.Execute(dataTable);
doc.Save(ArtifactsDir + "MailMerge.MappedDataFieldCollection.docx");
// Bu koleksiyondaki öğeler üzerinde yineleme yapabiliriz.
Assert.AreEqual(2, mappedDataFields.Count);
using (IEnumerator<KeyValuePair<string, string>> enumerator = mappedDataFields.GetEnumerator())
while (enumerator.MoveNext())
Console.WriteLine(
$"Column named {enumerator.Current.Value} is mapped to MERGEFIELDs named {enumerator.Current.Key}");
// Koleksiyondan öğeleri de kaldırabiliriz.
mappedDataFields.Remove("MergeFieldName");
Assert.False(mappedDataFields.ContainsKey("MergeFieldName"));
Assert.False(mappedDataFields.ContainsValue("DataSourceColumnName"));
mappedDataFields.Clear();
Assert.AreEqual(0, mappedDataFields.Count);
}
/// <summary>
/// 2 MERGEFIELD içeren bir belge oluşturun, bunlardan birinde MERGEFIELD yok
/// aşağıdaki yöntemden veri tablosundaki ilgili sütun.
/// </summary>
private static Document CreateSourceDocMappedDataFields()
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.InsertField(" MERGEFIELD Column1");
builder.Write(", ");
builder.InsertField(" MERGEFIELD Column3");
return doc;
}
/// <summary>
/// 2 sütunlu bir veri tablosu oluşturun, bunlardan birinde sütun yok
/// yukarıdaki yöntemden kaynak belgede karşılık gelen MERGEFIELD.
/// </summary>
private static DataTable CreateSourceTableMappedDataFields()
{
DataTable dataTable = new DataTable("MyTable");
dataTable.Columns.Add("Column1");
dataTable.Columns.Add("Column2");
dataTable.Rows.Add(new object[] { "Value1", "Value2" });
return dataTable;
}
Ayrıca bakınız
- ad alanı Aspose.Words.MailMerging
- toplantı Aspose.Words