MergeDuplicateRegions

MailMerge.MergeDuplicateRegions property

Obtiene o establece un valor que indica si todas las regiones de combinación de correo del documento con el nombre de un origen de datos se deben combinar al ejecutar una combinación de correo con regiones en el origen de datos o solo la primera.

public bool MergeDuplicateRegions { get; set; }

Observaciones

El valor predeterminado es falso .

Ejemplos

Muestra cómo trabajar con regiones de combinación de correspondencia duplicadas.

public void MergeDuplicateRegions(bool mergeDuplicateRegions)
{
    Document doc = CreateSourceDocMergeDuplicateRegions();
    DataTable dataTable = CreateSourceTableMergeDuplicateRegions();

    // Si establecemos la propiedad "MergeDuplicateRegions" en "false", la combinación de correspondencia afectará a la primera región,
    // mientras que los MERGEFIELD del segundo quedarán en el estado anterior a la fusión.
    // Para fusionar ambas regiones así,
    // tendríamos que ejecutar la combinación de correo dos veces en una tabla del mismo nombre.
    // Si establecemos la propiedad "MergeDuplicateRegions" en "true", la combinación de correspondencia afectará a ambas regiones.
    doc.MailMerge.MergeDuplicateRegions = mergeDuplicateRegions;

    doc.MailMerge.ExecuteWithRegions(dataTable);
    doc.Save(ArtifactsDir + "MailMerge.MergeDuplicateRegions.docx");
}

/// <summary>
/// Devuelve un documento que contiene dos regiones de combinación de correspondencia duplicadas (que comparten el mismo nombre en las etiquetas "TableStart/End").
/// </summary>
private static Document CreateSourceDocMergeDuplicateRegions()
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    builder.InsertField(" MERGEFIELD TableStart:MergeRegion");
    builder.InsertField(" MERGEFIELD Column1");
    builder.InsertField(" MERGEFIELD TableEnd:MergeRegion");
    builder.InsertParagraph();

    builder.InsertField(" MERGEFIELD TableStart:MergeRegion");
    builder.InsertField(" MERGEFIELD Column2");
    builder.InsertField(" MERGEFIELD TableEnd:MergeRegion");

    return doc;
}

/// <summary>
/// Crea una tabla de datos con una fila y dos columnas.
/// </summary>
private static DataTable CreateSourceTableMergeDuplicateRegions()
{
    DataTable dataTable = new DataTable("MergeRegion");
    dataTable.Columns.Add("Column1");
    dataTable.Columns.Add("Column2");
    dataTable.Rows.Add(new object[] { "Value 1", "Value 2" });

    return dataTable;
}

Ver también