Spread for ASP.NET 8.0 Product Documentation
MapAreas Property
Example 


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>
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

Reference

BeforeRenderMapAreasEventArgs Class
BeforeRenderMapAreasEventArgs Members

 

 


Copyright © GrapeCity, inc. All rights reserved.