PowerTools SPREAD for Windows Forms 10.0J
名前付きスタイル

「スタイル」を適用すると、セル、セル範囲、行、または列の外観を、短時間で簡単にカスタマイズできます。独自の名前付きスタイルを作成して、テンプレート同様に保存および再利用することもできます。または、デフォルトスタイルの各プロパティを適宜変更することもできます。スタイルには、背景色、テキスト色、フォント、罫線、セル型など、セルに適用されるさまざまな外観設定が含まれます。 1つのスタイルを、複数のセルに適用できます。スタイルがセルに適用されるしくみは、スキンがシートに適用されるしくみと同じです。

特定のセルにスタイルを指定するには、通常はこのセルのStyleNameプロパティを使用します。 また、ParentStyleNameプロパティを使用してセル範囲のスタイルを設定すると、セル範囲内の各セルのStyleNameの値がそれぞれ異なる場合でも、これらのセルのスタイルを統一できます。セルは、親スタイル(ParentStyleName)からすべてのスタイル情報を継承します。親スタイルの設定は、セル範囲内の各セルに割り当てられたStyleInfoオブジェクトに対して Parentプロパティを設定することを意味します。名前付きスタイルの親は、NamedStyleオブジェクトのParentプロパティを使用して設定することもできます。これにより、それぞれ別の名前付きスタイルを持つ複数のセル(別の行や別の列内にある複数セルなど)にも、同一の親スタイルを適用できます。たとえば、それぞれ別のテキスト色(名前付きスタイルで設定)が設定されたセルが、同一の背景色(親スタイルで設定)を継承する場合もあります。

詳細については、DefaultStyleCollectionクラスおよびNamedStyleクラスを参照してください。 スタイル(StyleName)を設定すると、選択したセル範囲内の個々のセルに適用されるスタイルモデルのStyleInfoオブジェクト全体が、NamedStyleCollection内の指定の名前付きスタイルに設定されます。デフォルトの親スタイルは、DefaultStyleCollectionクラスのDataAreaDefaultフィールドで設定されます。

スタイルの基本モデルの詳細については、「Style モデル」を参照してください。

設定方法

NamedStyleクラスのインスタンスを作成し、コンストラクタの引数でスタイルの名前を設定します。また、コンストラクタの2つ目の引数に、親スタイルの名前を設定し、このスタイルに親スタイルを設定することもできます。

サンプルコード

次のサンプルコードは、背景色を設定する親スタイルと、それぞれが異なるテキスト色を設定する2種類の子スタイルを定義します。子スタイルを適用された各セル範囲は、同じ背景色と、異なるテキスト色で表示されます。

C#
コードのコピー
FarPoint.Win.Spread.NamedStyle backstyle = new FarPoint.Win.Spread.NamedStyle("BlueBack");
backstyle.BackColor = Color.Blue;
FarPoint.Win.Spread.NamedStyle text1style = new FarPoint.Win.Spread.NamedStyle("OrangeText", "BlueBack");
text1style.ForeColor = Color.Orange;
FarPoint.Win.Spread.NamedStyle text2style = new FarPoint.Win.Spread.NamedStyle("YellowText", "BlueBack");
text2style.ForeColor = Color.Yellow;
fpSpread1.NamedStyles.Add(backstyle);
fpSpread1.NamedStyles.Add(text1style);
fpSpread1.NamedStyles.Add(text2style);
fpSpread1.ActiveSheet.Cells[0,0,4,0].StyleName = "OrangeText";
fpSpread1.ActiveSheet.Cells[0,1,4,1].StyleName = "YellowText";
Visual Basic
コードのコピー
Dim backstyle As New FarPoint.Win.Spread.NamedStyle("BlueBack")
backstyle.BackColor = Color.Blue
Dim text1style As New FarPoint.Win.Spread.NamedStyle("OrangeText", "BlueBack")
text1style.ForeColor = Color.Orange
Dim text2style As New FarPoint.Win.Spread.NamedStyle("YellowText", "BlueBack")
text2style.ForeColor = Color.Yellow
FpSpread1.NamedStyles.Add(backstyle)
FpSpread1.NamedStyles.Add(text1style)
FpSpread1.NamedStyles.Add(text2style)
FpSpread1.ActiveSheet.Cells(0,0,4,0).StyleName = "OrangeText"
fpSpread1.ActiveSheet.Cells(0,1,4,1).StyleName = "YellowText"

次のサンプルコードは、名前付きスタイルと異なる方法で、シート全体にデフォルトスタイルを設定する例です。

SheetViewクラスのDefaultStyleプロパティを使用して、StyleInfoクラスの各プロパティを設定します。下図のスプレッドシートのデータ領域のように、1つのスタイルをシートの全セルに適用する場合に適した方法です。

デフォルトスタイル

C#
コードのコピー
private void Form1_Load(object sender, System.EventArgs e)
{
    fpSpread1.ActiveSheet.RowCount = 5;
    fpSpread1.ActiveSheet.ColumnCount = 5;
    // 各デフォルトスタイルを設定します。
    fpSpread1.ActiveSheet.DefaultStyle.BackColor = Color.LemonChiffon;
    fpSpread1.ActiveSheet.DefaultStyle.ForeColor = Color.Red;
    fpSpread1.ActiveSheet.DefaultStyle.CellType = new FarPoint.Win.Spread.CellType.NumberCellType();
    fpSpread1.ActiveSheet.DefaultStyle.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
    fpSpread1.ActiveSheet.DefaultStyle.Border = new FarPoint.Win.LineBorder(Color.Green);
    for (int i = 0; i < fpSpread1.ActiveSheet.RowCount; i++)
    {
        for (int j = 0; j < fpSpread1.ActiveSheet.ColumnCount; j++)
        {
            fpSpread1.ActiveSheet.SetValue(i, j, i + j);
        }
    }
}
Visual Basic
コードのコピー
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    FpSpread1.ActiveSheet.RowCount = 5
    FpSpread1.ActiveSheet.ColumnCount = 5
    ' 各デフォルトスタイルを設定します。
    FpSpread1.ActiveSheet.DefaultStyle.BackColor = Color.LemonChiffon
    FpSpread1.ActiveSheet.DefaultStyle.ForeColor = Color.Red
    FpSpread1.ActiveSheet.DefaultStyle.CellType = New FarPoint.Win.Spread.CellType.NumberCellType
    FpSpread1.ActiveSheet.DefaultStyle.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center
    FpSpread1.ActiveSheet.DefaultStyle.Border = New FarPoint.Win.LineBorder(Color.Green)
    For i As Integer = 0 To FpSpread1.ActiveSheet.RowCount - 1
        For j As Integer = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
            FpSpread1.ActiveSheet.SetValue(i, j, i + j)
        Next
    Next
End Sub

NamedStyleコレクションエディタの使用

  1. [フォーム]ウィンドウで、NamedStyleCollection内にスタイルを作成するSPREADコンポーネントまたはSheetオブジェクトをクリックします。 SPREADコンポーネントの[外観]カテゴリーから、NamedStylesプロパティを選択します。 Sheetオブジェクトの[その他]カテゴリーから、NamedStylesプロパティを選択します。
  2. ボタンをクリックして NamedStyleコレクションエディタを開きます。
  3. NamedStyleコレクションエディタの「追加」タブを選択します。
  4. NamedStyle プロパティ リスト内の各プロパティを設定して、適切なスタイルを作成します。
  5. Name プロパティを使用して、作成したスタイルの名前を設定します。
  6. 〈OK〉をクリックし、エディタを終了します。
  7. スタイルを適用するセル、行、または列を選択します。
  8. [プロパティ]ウィンドウで、StyleName の値を、追加した名前付きスタイルの名前に設定します。
関連トピック

 

 


© 2004-2017, GrapeCity inc. All rights reserved.