Spread for ASP.NET 11 Product Documentation
MapAreas Property
Example 


FarPoint.Web.Chart Assembly > FarPoint.Web.Chart Namespace > BeforeRenderMapAreasEventArgs Class : MapAreas Property
Gets or sets the collection contains MapArea definitions.
Syntax
'Declaration
 
Public Property MapAreas As MapAreaCollection
'Usage
 
Dim instance As BeforeRenderMapAreasEventArgs
Dim value As MapAreaCollection
 
instance.MapAreas = value
 
value = instance.MapAreas
public MapAreaCollection MapAreas {get; set;}
Example
This example uses the MapAreas argument.
protected void Page_Load(object sender, EventArgs e)
    {

        FpChart1.RenderMapArea = true;
        FpChart1.BeforeRenderMapAreas+=new FarPoint.Web.Chart.BeforeRenderMapAreasHandler(FpChart1_BeforeRenderMapAreas);

        FarPoint.Web.Chart.BarSeries series = new FarPoint.Web.Chart.BarSeries();
        series.SeriesName = "Series 0";
        series.Values.Add(2.0);
        series.Values.Add(4.0);
        series.Values.Add(3.0);
        series.Values.Add(5.0);
        FarPoint.Web.Chart.YPlotArea plotArea = new FarPoint.Web.Chart.YPlotArea();
        plotArea.Location = new System.Drawing.PointF(0.2f, 0.2f);
        plotArea.Size = new System.Drawing.SizeF(0.6f, 0.6f);
        plotArea.Series.Add(series);
        FarPoint.Web.Chart.LabelArea label = new FarPoint.Web.Chart.LabelArea();
        label.Text = "Bar Chart";
        label.Location = new System.Drawing.PointF(0.5f, 0.02f);
        label.AlignmentX = 0.5f;
        label.AlignmentY = 0.0f;
        FarPoint.Web.Chart.LegendArea legend = new FarPoint.Web.Chart.LegendArea();
        legend.Location = new System.Drawing.PointF(0.98f, 0.5f);
        legend.AlignmentX = 1.0f;
        legend.AlignmentY = 0.5f;
        FarPoint.Web.Chart.ChartModel model = new FarPoint.Web.Chart.ChartModel();
        model.LabelAreas.Add(label);
        model.LegendAreas.Add(legend);
        model.PlotAreas.Add(plotArea);      
        FpChart1.Model = model;
}

 protected void FpChart1_BeforeRenderMapAreas(object sender, FarPoint.Web.Chart.BeforeRenderMapAreasEventArgs e)
    {
        string scriptFormat = "showHitTestInfo('{0}','{1}','{2}');";
        foreach (FarPoint.Web.Chart.MapArea item in e.MapAreas)
        {
            FarPoint.Web.Chart.SeriesHitTest ht = this.FpChart1.HitTest(FarPoint.Web.Chart.MapAreaInfo.Parse(item.MapAreaInfo)) as FarPoint.Web.Chart.SeriesHitTest;
            if (ht != null)
            {
                string script = string.Format(scriptFormat, ht.Series.SeriesName, ((FarPoint.Web.Chart.BarSeries)ht.Series).CategoryNames[ht.PointIndex], ((FarPoint.Web.Chart.BarSeries)ht.Series).Values[ht.PointIndex]);
                item.Attributes.Add("onmouseover", script);
            }
        }
    }

ASPX Page:

<script type="text/javascript">

        function showHitTestInfo(seriesName, category, value) {
            alert(seriesName);
            alert(category);
            alert(value);
        };
    </script>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If (Me.IsPostBack) Then Return

        FpChart1.RenderMapArea = True
        Dim series As New FarPoint.Web.Chart.BarSeries()
        series.SeriesName = "Series 0"
        series.Values.Add(2.0)
        series.Values.Add(4.0)
        series.Values.Add(3.0)
        series.Values.Add(5.0)
        Dim plotArea As New FarPoint.Web.Chart.YPlotArea()
        plotArea.Location = New System.Drawing.PointF(0.2F, 0.2F)
        plotArea.Size = New System.Drawing.SizeF(0.6F, 0.6F)
        plotArea.Series.Add(series)
        Dim label As New FarPoint.Web.Chart.LabelArea()
        label.Text = "Bar Chart"
        label.Location = New System.Drawing.PointF(0.5F, 0.02F)
        label.AlignmentX = 0.5F
        label.AlignmentY = 0.0F
        Dim legend As New FarPoint.Web.Chart.LegendArea()
        legend.Location = New System.Drawing.PointF(0.98F, 0.5F)
        legend.AlignmentX = 1.0F
        legend.AlignmentY = 0.5F
        Dim model As New FarPoint.Web.Chart.ChartModel()
        model.LabelAreas.Add(label)
        model.LegendAreas.Add(legend)
        model.PlotAreas.Add(plotArea)
        FpChart1.Model = model
    End Sub

Protected Sub FpChart1_BeforeRenderMapAreas(ByVal sender As Object, ByVal e As FarPoint.Web.Chart.BeforeRenderMapAreasEventArgs) Handles FpChart1.BeforeRenderMapAreas       
        Dim scriptFormat As String = "showHitTestInfo('{0}','{1}','{2}');"
        For Each item As FarPoint.Web.Chart.MapArea In e.MapAreas
            Dim ht As FarPoint.Web.Chart.SeriesHitTest = TryCast(Me.FpChart1.HitTest(FarPoint.Web.Chart.MapAreaInfo.Parse(item.MapAreaInfo)), FarPoint.Web.Chart.SeriesHitTest)
            If ht IsNot Nothing Then
                Dim script As String = String.Format(scriptFormat, ht.Series.SeriesName, DirectCast(ht.Series, FarPoint.Web.Chart.BarSeries).CategoryNames(ht.PointIndex), DirectCast(ht.Series, FarPoint.Web.Chart.BarSeries).Values(ht.PointIndex))
                item.Attributes.Add("onmouseover", script)
            End If
        Next
    End Sub


ASPX Page:

<script type="text/javascript">

        function showHitTestInfo(seriesName, category, value) {
            alert(seriesName);
            alert(category);
            alert(value);
        };
    </script>
See Also

Reference

BeforeRenderMapAreasEventArgs Class
BeforeRenderMapAreasEventArgs Members