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>