'Declaration Public Event BeforeRenderMapAreas As BeforeRenderMapAreasHandler
'Usage Dim instance As FpChart Dim handler As BeforeRenderMapAreasHandler AddHandler instance.BeforeRenderMapAreas, handler
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.
Property | Description |
---|---|
MapAreas | Gets or sets the collection contains MapArea definitions. |
Example
This example uses the BeforeRenderMapAreas event.
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