PowerTools SPREAD for ASP.NET 8.0J
スパークラインのグループ化

複数のスパークラインをグループ化することができます。

グループ化は複数のスパークラインに対して、スパークラインの種類やマーカー、データ点の色や軸設定を共有できます。

グループ化すると、スパークラインが1つの新規グループとしてマージされ、以前のグループからは削除されます。選択した複数のスパークラインが、それぞれ種類の異なるグループに属している場合は、最後に選択したグループの種類が新規グループに適用されます。新規グループは、最後に選択したグループの設定を維持します。

選択したスパークラインのグループ化を解除すると、これらのスパークラインは、1つのスパークラインのみで構成される個々のグループに分離されます。 元のスパークラインのデータおよび場所の範囲は、新規グループにも使用されます。 元のグループの設定も、新規グループに使用されます。

一つのスパークラインしか存在しない場合も、このスパークラインのみで構成されるグループとしてグループ化されています。AddSparkline メソッドまたはAddSquareSparkline メソッドの戻り値は、スパークラインが追加されたグループです。

設定方法

グループ化するスパークラインオブジェクトをExcelSparkline クラスを使用して生成し、スパークライングループのコレクション(ExcelSparklineGroup クラス)に追加します。グループが使用するスタイルの設定は、ExcelSparklineSetting クラス を使用して生成し、ExcelSparklineGroup クラスのSetting プロパティに設定します。スパークライングループのコレクションをSheetView クラス のSparklineContainer プロパティ に追加すると、グループ化されたスパークラインが表示されます。

既存のスパークラインセルをグループ化するには、SheetView クラスのGroupSparkline メソッドを使用します。また、グループ化を解除するには、UngroupSparkline メソッドを使用します。

サンプルコード

次のサンプルコードは、3つのスパークラインをグループ化し、ボタンクリックにより、別のグループを作成する例です。

protected void Page_Load(object sender, System.EventArgs e)
{
    if (IsPostBack) return;
    
    // セルにデータを設定します。
    FarPoint.Web.Spread.SheetView sv = FpSpread1.Sheets[0];
    sv.RowCount = 10;
    sv.ColumnCount = 10;
    sv.Cells[0, 0].Value = 2;
    sv.Cells[0, 1].Value = 5;
    sv.Cells[0, 2].Value = 4;
    sv.Cells[0, 3].Value = -1;
    sv.Cells[0, 4].Value = 3;
    sv.Cells[1, 0].Value = 3;
    sv.Cells[1, 1].Value = 1;
    sv.Cells[1, 2].Value = 2;
    sv.Cells[1, 3].Value = -1;
    sv.Cells[1, 4].Value = 5;
    sv.Cells[2, 0].Value = 3;
    sv.Cells[2, 1].Value = 10;
    sv.Cells[2, 2].Value = 2;
    sv.Cells[2, 3].Value = -1;
    sv.Cells[2, 4].Value = 5;

    // 1つ目のスパークラインを作成します。
    FarPoint.Web.Spread.Model.CellRange location1 = new FarPoint.Web.Spread.Model.CellRange(0, 0, 1, 5);
    FarPoint.Web.Spread.ExcelSparkline es1 = new FarPoint.Web.Spread.ExcelSparkline(0, 5, sv, location1);
     // 2つ目のスパークラインを作成します。
    FarPoint.Web.Spread.Model.CellRange location2 = new FarPoint.Web.Spread.Model.CellRange(1, 0, 1, 5);
    FarPoint.Web.Spread.ExcelSparkline es2 = new FarPoint.Web.Spread.ExcelSparkline(1, 5, sv, location2);
    // 3つ目のスパークラインを作成します。
    FarPoint.Web.Spread.Model.CellRange location3 = new FarPoint.Web.Spread.Model.CellRange(2, 0, 1, 5);
    FarPoint.Web.Spread.ExcelSparkline es3 = new FarPoint.Web.Spread.ExcelSparkline(2, 5, sv, location3);


    // スパークラインのデータ点、マーカーの設定をします。
    FarPoint.Web.Spread.ExcelSparklineSetting ex = new FarPoint.Web.Spread.ExcelSparklineSetting();
    ex.ShowFirst = true;
    ex.FirstMarkerColor = Color.Violet;
    
    // グループを作成し、スパークラインを追加します。
    FarPoint.Web.Spread.ExcelSparklineGroup esg = new FarPoint.Web.Spread.ExcelSparklineGroup(ex, SparklineType.Column);
    esg.Add(es1);
    esg.Add(es2);
    esg.Add(es3);

    // シートにスパークライングループを追加します。
    sv.SparklineContainer.Add(esg);
}

protected void Button1_Click(object sender, EventArgs e)
{
    // グループを再設定し、スパークラインの種類、軸の表示、マーカー色を変更します。
    FarPoint.Web.Spread.ExcelSparklineGroup esg = FpSpread1.Sheets[0].GroupSparkline(new FarPoint.Web.Spread.Model.CellRange[] { new FarPoint.Web.Spread.Model.CellRange(1, 5, 3, 1) }, FarPoint.Web.Spread.SparklineType.Line);
    ExcelSparklineSetting es = new ExcelSparklineSetting();
    es.DisplayXAxis = true;
    es.SeriesColor = Color.Orange;
    esg.Setting = es;
}
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If IsPostBack Then Return
    
    ' セルにデータを設定します。
    Dim sv As FarPoint.Web.Spread.SheetView = FpSpread1.Sheets(0)
    sv.RowCount = 10
    sv.ColumnCount = 10
    sv.Cells(0, 0).Value = 2
    sv.Cells(0, 1).Value = 5
    sv.Cells(0, 2).Value = 4
    sv.Cells(0, 3).Value = -1
    sv.Cells(0, 4).Value = 3
    sv.Cells(1, 0).Value = 3
    sv.Cells(1, 1).Value = 1
    sv.Cells(1, 2).Value = 2
    sv.Cells(1, 3).Value = -1
    sv.Cells(1, 4).Value = 5
    
    sv.Cells(2, 0).Value = 3
    sv.Cells(2, 1).Value = 1
    sv.Cells(2, 2).Value = 2
    sv.Cells(2, 3).Value = -1
    sv.Cells(2, 4).Value = 5

    ' 1つ目のスパークラインを作成します。
    Dim location1 As New FarPoint.Web.Spread.Model.CellRange(0, 0, 1, 5)
    Dim es1 As New FarPoint.Web.Spread.ExcelSparkline(0, 5, sv, location1)
    ' 2つ目のスパークラインを作成します。
    Dim location2 As New FarPoint.Web.Spread.Model.CellRange(1, 0, 1, 5)
    Dim es2 As New FarPoint.Web.Spread.ExcelSparkline(1, 5, sv, location2)
    ' 3つ目のスパークラインを作成します。
    Dim location3 As New FarPoint.Web.Spread.Model.CellRange(2, 0, 1, 5)
    Dim es3 As New FarPoint.Web.Spread.ExcelSparkline(2, 5, sv, location3)

    ' スパークラインのデータ点、マーカーの設定をします。
    Dim ex As New FarPoint.Web.Spread.ExcelSparklineSetting()
    ex.ShowFirst = True
    ex.FirstMarkerColor = Color.Violet
    
    ' グループを作成し、スパークラインを追加します。
    Dim esg As New FarPoint.Web.Spread.ExcelSparklineGroup(ex, SparklineType.Column)
    esg.Add(es1)
    esg.Add(es2)
    esg.Add(es3)

    ' シートにスパークライングループを追加します。
    sv.SparklineContainer.Add(esg)
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs)
    ' グループを再設定し、スパークラインの種類、軸の表示、マーカー色を変更します。
    Dim esg As FarPoint.Web.Spread.ExcelSparklineGroup = FpSpread1.Sheets(0).GroupSparkline(new FarPoint.Web.Spread.Model.CellRange() { New FarPoint.Web.Spread.Model.CellRange(1, 5, 3, 1) }, FarPoint.Web.Spread.SparklineType.Line)
    Dim es As New FarPoint.Web.Spread.ExcelSparklineSetting()
    es.DisplayXAxis = True
    es.SeriesColor = Color.Orange
    esg.Setting = es
End Sub

SPREADデザイナでの設定

  1. スパークラインを作成するセルを選択します。
  2. [スパークライン]タブの[グループ]グループボックスで[グループ化]または[グループ解除]を選択します。
  3. すべてのスパークラインを削除するには、[クリア]を選択します。
  4. スパークラインに使用されるデータの編集、またはデータ範囲の入れ替えを行うには、[スパークライン]グループボックスの[データの編集]を選択します。
関連トピック

 

 


© 2003-2015, GrapeCity inc. All rights reserved.