Spread for ASP.NET 7.0 Product Documentation
BeforeRenderMapAreas Event
See Also  Example Support Options
FarPoint.Web.Chart Assembly > FarPoint.Web.Chart Namespace > FpChart Class : BeforeRenderMapAreas Event


Glossary Item Box

Occurs before the control renders the map area to HTML.

Syntax

Visual Basic (Declaration) 
Public Event BeforeRenderMapAreas As BeforeRenderMapAreasHandler
Visual Basic (Usage)Copy Code
Dim instance As FpChart
Dim handler As BeforeRenderMapAreasHandler
 
AddHandler instance.BeforeRenderMapAreas, handler
C# 
public event BeforeRenderMapAreasHandler BeforeRenderMapAreas

Event Data

The event handler receives an argument of type BeforeRenderMapAreasEventArgs containing data related to this event. The following BeforeRenderMapAreasEventArgs properties provide information specific to this event.

PropertyDescription
MapAreas Gets or sets the collection contains MapArea definitions.

Example

This example uses the BeforeRenderMapAreas event.
C#Copy Code
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>
Visual BasicCopy Code
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>

Requirements

Target Platforms: Windows 7, Windows 8, Windows Vista, Windows Server 2000, Windows 2000 Professional, Windows XP Professional, Windows NT 4.0 Workstation, SP6, Windows NT 4.0 Server, SP6

See Also

© 2002-2014 ComponentOne, a division of GrapeCity. All Rights Reserved.