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