@page "/" @using Syncfusion.Blazor.TreeMap @using System.Dynamic @inject NavigationManager NavigationManager
@code { public List Orders = new List() { }; protected override void OnInitialized() { Orders = Enumerable.Range(1, 5).Select((x) => { dynamic d = new DynamicDictionary(); d.Freight = (new double[] { 2, 1, 4, 5, 3 })[new Random().Next(5)] * x; d.OrderDate = DateTime.Now.AddDays(-x).ToString(); return d; }).Cast().ToList(); } public class DynamicDictionary : DynamicObject { Dictionary dictionary = new Dictionary(); public override bool TryGetMember(GetMemberBinder binder, out object result) { string name = binder.Name; return dictionary.TryGetValue(name, out result); } public override bool TrySetMember(SetMemberBinder binder, object value) { dictionary[binder.Name] = value; return true; } public override System.Collections.Generic.IEnumerable GetDynamicMemberNames() { return this.dictionary?.Keys; } } }