セルの値により、セルの前景色を設定したいのですが。
対象製品
True DBGrid for .NET
詳細
FetchCellStyleイベント内で、変更したいセル・セルの値を判別し、前景色を設定します。注意すべき点としては、FetchCellStyleイベントは、は一度だけではなく、グリッドが描画を必要とした際に何回も発生することと、RowBookmarkプロパティを使用して、セルの値を判別することです。
*製品付属チュートリアル1にて、ご確認ください。
◆サンプルコード(VB.NET)
◆サンプルコード(C#)
*製品付属チュートリアル1にて、ご確認ください。
◆サンプルコード(VB.NET)
Private Sub Form1_Load(...)
C1TrueDBGrid1.Splits(0).DisplayColumns(8).FetchStyle = True
End Sub
Private Sub C1TrueDBGrid1_FetchCellStyle(...)
' 2行8列目が"M"の場合のみ、セルの前景色を設定します
If (e.Col = 8) And (e.Row = 2) And _
(C1TrueDBGrid1.Columns(e.Col).CellText(C1TrueDBGrid1.RowBookmark(e.Row)) = "M") Then
e.CellStyle.ForeColor = System.Drawing.Color.Aqua
End If
End Sub
C1TrueDBGrid1.Splits(0).DisplayColumns(8).FetchStyle = True
End Sub
Private Sub C1TrueDBGrid1_FetchCellStyle(...)
' 2行8列目が"M"の場合のみ、セルの前景色を設定します
If (e.Col = 8) And (e.Row = 2) And _
(C1TrueDBGrid1.Columns(e.Col).CellText(C1TrueDBGrid1.RowBookmark(e.Row)) = "M") Then
e.CellStyle.ForeColor = System.Drawing.Color.Aqua
End If
End Sub
◆サンプルコード(C#)
private void Form1_Load(...)
{
c1TrueDBGrid1.Splits[0].DisplayColumns[8].FetchStyle = true;
}
private void c1TrueDBGrid1_FetchCellStyle(...)
{
// 2行8列目が"M"の場合のみ、セルの前景色を設定します
if((e.Col == 8) && (e.Row == 2) &&
(c1TrueDBGrid1.Columns[8].CellText(c1TrueDBGrid1.RowBookmark(e.Row)) == "M"))
{
e.CellStyle.ForeColor = System.Drawing.Color.AliceBlue;
}
}
{
c1TrueDBGrid1.Splits[0].DisplayColumns[8].FetchStyle = true;
}
private void c1TrueDBGrid1_FetchCellStyle(...)
{
// 2行8列目が"M"の場合のみ、セルの前景色を設定します
if((e.Col == 8) && (e.Row == 2) &&
(c1TrueDBGrid1.Columns[8].CellText(c1TrueDBGrid1.RowBookmark(e.Row)) == "M"))
{
e.CellStyle.ForeColor = System.Drawing.Color.AliceBlue;
}
}
関連情報
- 行単位でフォントや背景色等を変更する方法は?
- セル単位でフォントや背景色等を変更する方法は?
- 列単位でセルの背景色を設定する方法は?
- 列ヘッダの背景色を設定する方法は?
- セルの値により、行の背景色を設定したいのですが。
キーワード
HowTo デザイン・レイアウト
この文書は、以前は次のFAQ IDで公開されていました : 4632