ASP.NET Chart Server Side Events TakeDataSource

TakeDataSource fires when the chart is about to be bound and the data source must be assigned.
This event is used when the chart is bound via advanced data binding.You can handle it in order to pass data to the chart control:

<shield:ShieldChart runat="server" AutoPostBack="true"
     OnTakeDataSource="ShieldChart2_TakeDataSource"
 ID="ShieldChart1">
    <DataSeries>
        <shield:ChartBarSeries ID="BarSerie1" 
            DataFieldY="Number">
        </shield:ChartBarSeries>
    </DataSeries>
</shield:ShieldChart>
public class Helper
{
    public int Number { get; set; }
    public int Number1 { get; set; }
}
protected void ShieldChart1_TakeDataSource(object sender, ChartTakeDataSourceEventArgs e)
{
    List datasource = new List() 
    { 
        new Helper(){Number = 5, Number1 = 2000},
        new Helper(){Number = 5, Number1 = 3000},
        new Helper(){Number = 10, Number1 = 1000},
        new Helper(){Number = 20, Number1 = 3000},
        new Helper(){Number = 10, Number1 = 2000},
        new Helper(){Number = 20, Number1 = 4000},
        new Helper(){Number = 30, Number1 = 6000},
        new Helper(){Number = 30, Number1 = 4400},
        new Helper(){Number = 20, Number1 = 1200},
        new Helper(){Number = 10, Number1 = 7000},
        new Helper(){Number = 10, Number1 = 2300},
        new Helper(){Number = 30, Number1 = 1230}
    };

    ShieldChart1.DataSource = datasource;
}