MESCIUS SPREAD for ASP.NET 10.0J
HotSpotMode プロパティ (FpChart)

System.Web.UI.WebControls.HotSpotオブジェクトがクリックされたときの、FpChartコントロールのSystem.Web.UI.WebControls.HotSpotオブジェクトのデフォルト動作を取得または設定します。
構文
'Declaration
 
Public Overridable Property HotSpotMode As HotSpotMode
public virtual HotSpotMode HotSpotMode {get; set;}

プロパティ値

System.Web.UI.WebControls.HotSpotMode列挙値の1つ。デフォルト値はNotSetです。
解説

このプロパティは、RenderMapAreaプロパティがtrueのときに有効となり、ユーザーがチャートのマップエリアをクリックしたときの動作を決定します。設定値は、Inactive、Navigate、およびPostBackです。Inactiveは、チャートのマップエリアにツールチップを表示する場合に便利です。

ユーザーがチャートの要素をクリックしたときにMapAreaClickイベントを発生させることができます。それには、RenderMapAreaプロパティをtrueに設定し、このプロパティをPostBackに設定する必要があります。

次のサンプルコードは、Spreadにチャートコントロールを作成していくつかのイベントをマップします。
public FarPoint.Web.Chart.FpChart FpChart1;

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {

        FpChart1 = FpSpread1.ActiveSheetView.Charts[0];
        FpChart1.RenderMapArea = true;
        FpChart1.HotSpotMode = HotSpotMode.PostBack;
        FpChart1.AutoGenerateMapAreaToolTip = true;
        FpChart1.EnableClickEvent = true;
        FpChart1.MapAreaClick += new FarPoint.Web.Chart.MapAreaClickEventHandler(FpChart1_MapAreaClick);
        return;
        FpChart1.Click += new System.Web.UI.ImageClickEventHandler(FpChart1_Click);
    }

    FpSpread1.Sheets[0].RowCount = 10;
    FpSpread1.Sheets[0].ColumnCount = 10;
    FpSpread1.Sheets[0].Cells[1, 0].Value = "s1";
    FpSpread1.Sheets[0].Cells[2, 0].Value = "s2";
    FpSpread1.Sheets[0].Cells[3, 0].Value = "s3";
    FpSpread1.Sheets[0].Cells[4, 0].Value = "s4";
    FpSpread1.Sheets[0].Cells[0, 1].Value = "c1";
    FpSpread1.Sheets[0].Cells[1, 1].Value = 1;
    FpSpread1.Sheets[0].Cells[2, 1].Value = 2;
    FpSpread1.Sheets[0].Cells[3, 1].Value = 3;
    FpSpread1.Sheets[0].Cells[4, 1].Value = 4;
    FpSpread1.Sheets[0].Cells[0, 2].Value = "c2";
    FpSpread1.Sheets[0].Cells[1, 2].Value = 7;
    FpSpread1.Sheets[0].Cells[2, 2].Value = 8;
    FpSpread1.Sheets[0].Cells[3, 2].Value = 9;
    FpSpread1.Sheets[0].Cells[4, 2].Value = 10;
    FpSpread1.Sheets[0].Cells[0, 3].Value = "c3";
    FpSpread1.Sheets[0].Cells[1, 3].Value = 13;
    FpSpread1.Sheets[0].Cells[2, 3].Value = 14;
    FpSpread1.Sheets[0].Cells[3, 3].Value = 15;
    FpSpread1.Sheets[0].Cells[4, 3].Value = 16;
    FarPoint.Web.Spread.Model.CellRange range = new FarPoint.Web.Spread.Model.CellRange(0, 0, 4, 4);
    FpSpread1.Sheets[0].AddChart(range, typeof(FarPoint.Web.Chart.ClusteredBarSeries), 200, 200, 0, 0, FarPoint.Web.Chart.ChartViewType.View3D, false);

    FpChart1 = FpSpread1.Sheets[0].Charts[0];
    FpChart1.RenderMapArea = true;
    FpChart1.HotSpotMode = HotSpotMode.PostBack;
    FpChart1.AutoGenerateMapAreaToolTip = true;
    FpChart1.EnableClickEvent = true;
}

protected void FpChart1_MapAreaClick(object sender, FarPoint.Web.Chart.MapAreaClickEventArgs e)
{
    ListBox1.Items.Clear();
    ListBox1.Items.Add("AreaIndex:" + e.MapAreaInfo.AreaIndex.ToString());
    ListBox1.Items.Add("Coords:" + e.MapAreaInfo.Coords);
    ListBox1.Items.Add("MapAreaName:" + e.MapAreaInfo.MapAreaName);
    ListBox1.Items.Add("PointIndex:" + e.MapAreaInfo.PointIndex.ToString());
    ListBox1.Items.Add("SeriesIndex:" + e.MapAreaInfo.SeriesIndex.ToString());
    ListBox1.Items.Add("SubSeriesIndex:" + e.MapAreaInfo.SubSeriesIndex.ToString());
    ListBox1.Items.Add("Type:" + e.MapAreaInfo.Type.ToString());
    //FarPoint.Web.Chart.HitTest hitTest = this.FpChart1.HitTest(e.MapAreaInfo);
    //ListBox1.Items.Add(hitTest.ToString());

}

protected void FpChart1_Click(object sender, ImageClickEventArgs e)
{
    FarPoint.Web.Chart.HitTest hitTest = FpChart1.HitTest(e.X, e.Y);
    ListBox1.Items.Add("click event");
}
Public WithEvents FpChart1 As FarPoint.Web.Chart.FpChart

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If (Me.IsPostBack) Then
        FpChart1 = FpSpread1.ActiveSheetView.Charts(0)
        FpChart1.RenderMapArea = True
        FpChart1.HotSpotMode = HotSpotMode.PostBack
        FpChart1.AutoGenerateMapAreaToolTip = True
        FpChart1.EnableClickEvent = True
        Return
    End If

    FpSpread1.Sheets(0).RowCount = 10
    FpSpread1.Sheets(0).ColumnCount = 10
    FpSpread1.Sheets(0).Cells(1, 0).Value = "s1"
    FpSpread1.Sheets(0).Cells(2, 0).Value = "s2"
    FpSpread1.Sheets(0).Cells(3, 0).Value = "s3"
    FpSpread1.Sheets(0).Cells(4, 0).Value = "s4"
    FpSpread1.Sheets(0).Cells(0, 1).Value = "c1"
    FpSpread1.Sheets(0).Cells(1, 1).Value = 1
    FpSpread1.Sheets(0).Cells(2, 1).Value = 2
    FpSpread1.Sheets(0).Cells(3, 1).Value = 3
    FpSpread1.Sheets(0).Cells(4, 1).Value = 4
    FpSpread1.Sheets(0).Cells(0, 2).Value = "c2"
    FpSpread1.Sheets(0).Cells(1, 2).Value = 7
    FpSpread1.Sheets(0).Cells(2, 2).Value = 8
    FpSpread1.Sheets(0).Cells(3, 2).Value = 9
    FpSpread1.Sheets(0).Cells(4, 2).Value = 10
    FpSpread1.Sheets(0).Cells(0, 3).Value = "c3"
    FpSpread1.Sheets(0).Cells(1, 3).Value = 13
    FpSpread1.Sheets(0).Cells(2, 3).Value = 14
    FpSpread1.Sheets(0).Cells(3, 3).Value = 15
    FpSpread1.Sheets(0).Cells(4, 3).Value = 16
    Dim range As New FarPoint.Web.Spread.Model.CellRange(0, 0, 4, 4)
    FpSpread1.Sheets(0).AddChart(range, GetType(FarPoint.Web.Chart.ClusteredBarSeries), 200, 200, 0, 0, FarPoint.Web.Chart.ChartViewType.View3D, False)

    FpChart1 = FpSpread1.Sheets(0).Charts(0)
    FpChart1.RenderMapArea = True
    FpChart1.HotSpotMode = HotSpotMode.PostBack
    FpChart1.AutoGenerateMapAreaToolTip = True
    FpChart1.EnableClickEvent = True
End Sub

Protected Sub FpChart1_MapAreaClick(ByVal sender As Object, ByVal e As FarPoint.Web.Chart.MapAreaClickEventArgs) Handles FpChart1.MapAreaClick
    ListBox1.Items.Clear()
    ListBox1.Items.Add("AreaIndex:" + e.MapAreaInfo.AreaIndex.ToString())
    ListBox1.Items.Add("Coords:" + e.MapAreaInfo.Coords)
    ListBox1.Items.Add("MapAreaName:" + e.MapAreaInfo.MapAreaName)
    ListBox1.Items.Add("PointIndex:" + e.MapAreaInfo.PointIndex.ToString())
    ListBox1.Items.Add("SeriesIndex:" + e.MapAreaInfo.SeriesIndex.ToString())
    ListBox1.Items.Add("SubSeriesIndex:" + e.MapAreaInfo.SubSeriesIndex.ToString())
    ListBox1.Items.Add("Type:" + e.MapAreaInfo.Type.ToString())

    'Dim hit As FarPoint.Web.Chart.HitTest
    'hit = FpChart1.HitTest(e.MapAreaInfo)
    'ListBox1.Items.Add(hit.ToString())
End Sub

Protected Sub FpChart1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles FpChart1.Click
    Dim hit As FarPoint.Web.Chart.HitTest
    hit = FpChart1.HitTest(e.X, e.Y)
    ListBox1.Items.Add("Click event")
End Sub
参照

FpChart クラス
FpChart メンバ

 

 


© MESCIUS inc. All rights reserved.