Copyright © GrapeCity inc. All rights reserved.
True DBGrid for WinForms
ステータスに基づいてセルのスタイルを適用する
スタイルの使用方法 > セルにスタイルを適用する > ステータスに基づいてセルのスタイルを適用する

C1TrueDBGrid の各セルには、その特性(現在の行、変更された行、選択した行の一部、強調表示されている行の一部などの組み合わせ)を識別するステータス値があります。AddCellStyle メソッドを使用して、セルのステータス値の組み合わせに適用できるスタイルの属性を設定できます。AddCellStyle メソッドは、C1TrueDBGrid, C1TrueDBDropDown, Split, C1DisplayColumnの各オブジェクトによってサポートされています。このメソッドを使用して、特定の条件を適用するセルの範囲を制御できます。

各ステータスの一意の組み合わせに、そのステータスのセルに使用する色、フォント、画像の各属性を設定できます。セルのステータスが変わると、C1TrueDBGrid は、そのセルにオーバーライドされるスタイルのプロパティが定義されているかどうかを確認し、セルが表示されるときにこれらの属性を適用します。次の例のように、Style オブジェクトを使用して、セルの色とフォントを指定します。;

Visual Basic コードの書き方

Visual Basic
コードのコピー
Dim S As New C1.Win.C1TrueDBGrid.Style()
Dim myfont As Font
 
myfont = New Font(S.Font, FontStyle.Bold)
S.Font = myfont
S.ForeColor = System.Drawing.Color.Red
Me.C1TrueDBGrid1.AddCellStyle (C1.Win.C1TrueDBGrid.CellStyleFlag.CurrentCell, S)

C# コードの書き方

C#
コードのコピー
C1TrueDBGrid.Style  S = new C1.Win.C1TrueDBGrid.Style();
Font myfont;
 
myfont = new Font(S.Font, FontStyle.Bold);
S.Font = myfont;
S.ForeColor = System.Drawing.Color.Red;
this.c1TrueDBGrid1.AddCellStyle(C1.Win.C1TrueDBGrid.CellStyleFlag.CurrentCell, S);

ここでは、新しい一時スタイルオブジェクトが作成され、オーバーライドされた色とフォント(テキストを赤および太字で表示する)をグリッド全体の現在のセルに適用します。スタイルオブジェクトのBackColor プロパティは明示的に設定されていないため、現在のセルの背景色は変更されません。

また、次のように、設計時に定義したスタイルをAddCellStyle メソッドの引数として使用することもできます。

Visual Basic コードの書き方

Visual Basic
コードのコピー
Dim S As C1.Win.C1TrueDBGrid.Style
S = Me.C1TrueDBGrid1.Styles("RedBold")
Me.C1TrueDBGrid1.AddCellStyle(C1.Win.C1TrueDBGrid.CellStyleFlag.CurrentCell, S)

C# コードの書き方

C#
コードのコピー
C1.Win.C1TrueDBGrid.Style S;
S = this.c1TrueDBGrid1.Styles("RedBold")
this.c1TrueDBGrid1.AddCellStyle(C1.Win.C1TrueDBGrid.CellStyleFlag.CurrentCell, S);

コードのコピー

コードのコピー

コードのコピー

コードのコピー

メモ:現在のセルのステータスは、 MarqueeStyle プロパティがMarqueeEnum.FloatingEditorに設定されていない場合にだけ有効です。フローティングエディタマーキーでは、コントロールパネルで設定されたシステムの強調表示の色が使用されます。

このメソッドを使用すると、セルの条件を柔軟に制御および決定できますが、多くの場合は追加のコードを記述する必要があります。

AddCellStyle を呼び出すと、すぐにスタイルが適用されます。また、グリッド全体の特性に使用したり、対話式のスタイルの適用に使用することもできます。

関連トピック