SelectionChanged

SelectionChanged fires when the chart's point is selected or deselected. In order to enable selection of points the EnablePointSelection property needs to be set to true:

<shield:ShieldChart ID="ShieldChart1" runat="server" ...>
    <DataSeries>
        <shield:ChartBarSeries ...> 
            <Settings EnablePointSelection="true" >                               
            </Settings>
...

NOTE: In order to postback to the server when user selects or deselects point/points the AutoPostBack property needs to be set to true.
This event can be used for handling server side the client side selection of the chart point. In this way the master - detail relationship can be achieved:

 <shield:ShieldChart ID="ShieldChart1" runat="server" AutoPostBack="true"
      OnSelectionChanged="ShieldChart1_SelectionChanged" 
      OnTakeDataSource="ShieldChart1_TakeDataSource">
    <DataSeries>
        <shield:ChartBarSeries DataFieldY="Sales"> 
            <Settings EnablePointSelection="true" >
             </Settings>
        </shield:ChartBarSeries>
    </DataSeries>
</shield:ShieldChart>
<shield:ShieldChart ID="ShieldChart2" 
    OnTakeDataSource="ShieldChart2_TakeDataSource" >
    <DataSeries>
        <shield:ChartDonutSeries 
            DataFieldY="Data" DataFieldX="Product">
        </shield:ChartDonutSeries>
    </DataSeries>
</shield:ShieldChart>
protected void ShieldChart1_TakeDataSource(object sender, Shield.Web.UI.ChartTakeDataSourceEventArgs e)
{
    ShieldChart1.DataSource = new object[] 
        {
            new {Quarter = "Q1", Sales = 312 }, 
            new {Quarter = "Q2", Sales = 212 }, 
            new {Quarter = "Q3", Sales = 322 }, 
            new {Quarter = "Q4", Sales = 128 }
        };
}

public List DataPerformance { get; set; }
protected void ShieldChart2_TakeDataSource(object sender, ChartTakeDataSourceEventArgs e)
{
    ShieldChart2.DataSource = DataPerformance;
}

protected void ShieldChart1_SelectionChanged(object sender, ChartSelectionChangedEventArgs e)
{
    if (e.Selected)
    {
        SelectedQuarter = e.Name;
        DataPerformance = GetPerformanceData().Where(d => d.Quarter == SelectedQuarter).ToList();
    }
    else
    {
        DataPerformance = null;
    }
    ShieldChart2.DataBind();
}

In order to avoid the blinking into the browser when chart postback a asp:UpdatePanel control can be used with following configuration:

<asp:UpdatePanel runat="server" UpdateMode="Conditional" 
    ChildrenAsTriggers="false">
    <ContentTemplate>
        <shield:ShieldChart ID="ShieldChart2" 
            OnTakeDataSource="ShieldChart2_TakeDataSource" >
            <DataSeries>
                <shield:ChartDonutSeries 
                    DataFieldY="Data" DataFieldX="Product">
                </shield:ChartDonutSeries>
            </DataSeries>
       </shield:ShieldChart>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ShieldChart1" 
            EventName="SelectionChanged" />
    </Triggers>
</asp:UpdatePanel>

Thus when the first chart point is selected only the second chart will be updated.

For more information see Master/Detail Charts example.