@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;
}
}
}