Skip to main content

How to: Manually Add Items to a TreeMap

  • 2 minutes to read

To manually provide data for a TreeMap, assign a newly created instance of the TreeMapItemStorage class to the TreeMapControl.DataAdapter property. Then, create several objects of the TreeMapItem class or its descendant class, specify their TreeMapItem.Label and TreeMapItem.Value properties, and add them to the TreeMapItemStorage.Items collection.

Note – to create a group, you will need to add a new TreeMapItem and fill its TreeMapItem.Children collection with tree map items.

void ConfigureTreeMapDataAdapter() {
    TreeMapItemStorage storage = new TreeMapItemStorage();
    treeMap.DataAdapter = storage;

    TreeMapItem americasGroup = new TreeMapItem { Label = "Americas" };
    americasGroup.Children.Add(new TreeMapItem { Label = "United States", Value = 17.968 });
    americasGroup.Children.Add(new TreeMapItem { Label = "Brazil", Value = 1.8 });
    americasGroup.Children.Add(new TreeMapItem { Label = "Canada", Value = 1.573 });
    storage.Items.Add(americasGroup);

    TreeMapItem europeGroup = new TreeMapItem { Label = "Europe" };
    europeGroup.Children.Add(new TreeMapItem { Label = "Germany", Value = 3.371 });
    europeGroup.Children.Add(new TreeMapItem { Label = "United Kingdom", Value = 2.865 });
    europeGroup.Children.Add(new TreeMapItem { Label = "France", Value = 2.423 });
    europeGroup.Children.Add(new TreeMapItem { Label = "Italy", Value = 1.819 });
    storage.Items.Add(europeGroup);

    TreeMapItem asiaGroup = new TreeMapItem { Label = "Asia" };
    asiaGroup.Children.Add(new TreeMapItem { Label = "China", Value = 11.385 });
    asiaGroup.Children.Add(new TreeMapItem { Label = "Japan", Value = 4.116 });
    asiaGroup.Children.Add(new TreeMapItem { Label = "India", Value = 2.183 });
    storage.Items.Add(asiaGroup);
}