OdsoFieldMapDataCollection

OdsoFieldMapDataCollection class

A typed collection of the OdsoFieldMapData objects.

To learn more, visit the Mail Merge and Reporting documentation article.

public class OdsoFieldMapDataCollection : IEnumerable<OdsoFieldMapData>

Constructors

NameDescription
OdsoFieldMapDataCollection()The default constructor.

Properties

NameDescription
Count { get; }Gets the number of elements contained in the collection.
Item { get; set; }Gets or sets an item in this collection.

Methods

NameDescription
Add(OdsoFieldMapData)Adds an object to the end of this collection.
Clear()Removes all elements from this collection.
GetEnumerator()Returns an enumerator object that can be used to iterate over all items in the collection.
RemoveAt(int)Removes the element at the specified index.

Examples

Shows how to access the collection of data that maps data source columns to merge fields.

Document doc = new Document(MyDir + "Odso data.docx");

// This collection defines how a mail merge will map columns from a data source
// to predefined MERGEFIELD, ADDRESSBLOCK and GREETINGLINE fields.
OdsoFieldMapDataCollection dataCollection = doc.MailMergeSettings.Odso.FieldMapDatas;
Assert.AreEqual(30, dataCollection.Count);

using (IEnumerator<OdsoFieldMapData> enumerator = dataCollection.GetEnumerator())
{
    int index = 0;
    while (enumerator.MoveNext())
    {
        Console.WriteLine($"Field map data index {index++}, type \"{enumerator.Current.Type}\":");

        Console.WriteLine(
            enumerator.Current.Type != OdsoFieldMappingType.Null
                ? $"\tColumn \"{enumerator.Current.Name}\", number {enumerator.Current.Column} mapped to merge field \"{enumerator.Current.MappedName}\"."
                : "\tNo valid column to field mapping data present.");
    }
}

// Clone the elements in this collection.
Assert.AreNotEqual(dataCollection[0], dataCollection[0].Clone());

// Use the "RemoveAt" method elements individually by index.
dataCollection.RemoveAt(0);

Assert.AreEqual(29, dataCollection.Count);

// Use the "Clear" method to clear the entire collection at once.
dataCollection.Clear();

Assert.AreEqual(0, dataCollection.Count);

See Also