MESCIUS SPREAD for ASP.NET 10.0J
BeforeRenderMapAreas イベント

コントロールがマップエリアをHTMLにレンダリングする前に発生します。
構文
'Declaration
 
Public Event BeforeRenderMapAreas As BeforeRenderMapAreasHandler
public event BeforeRenderMapAreasHandler BeforeRenderMapAreas
イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、BeforeRenderMapAreasEventArgs 型の引数を受け取りました。次の BeforeRenderMapAreasEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ説明
MapAreasMapAreaの定義を含むコレクションを取得または設定します。  
次のサンプルコードは、BeforeRenderMapAreasイベントを使用します。
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>
参照

FpChart クラス
FpChart メンバ

 

 


© MESCIUS inc. All rights reserved.