掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DataGridの特定のセルに色をつけるには? (ID:114561)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
初心者のため間違っている質問がありましたらすみません。 vb.netになるのですが、 dataGridのセルに色をつけたいです。 変数に「1」が立っているときに行を赤ラインをつけたいと 思っています。 ネットで探してもよくわかりません。 下記のプログラムを見つけたのですが、何を言っているのか分かりません。 もし迷惑でなければ教えて下さい。よろしくお願いします。 ***************************** ネットで落ちていたプログラム ***************************** DataGrid内の特定のセルの色を変える DataGridColumnStyle.PaintメソッドをオーバーライドしたDataGridColumnStyleからの派生クラスを作成することにより、 セルの色を自由に変えることが出来るようになります。 まずは次のようなクラスを作成します。このPaintメソッド内でどのようなセルにどのような色をつけるか指定します。 この例ではDataGridTextBoxColumnから派生したMyDataGridTextBoxColumnクラスを作成し、値が"0"のセルを前景色が白、 背景色が黒で表示するようにしています。 [VB.NET] 'DataGridTextBoxColumnを継承してクラスを作成 Public Class MyDataGridTextBoxColumn Inherits DataGridTextBoxColumn 'Paintメソッドをオーバーライドする Protected Overloads Overrides Sub Paint( _ ByVal g As Graphics, _ ByVal bounds As Rectangle, _ ByVal source As CurrencyManager, _ ByVal rowNum As Integer, _ ByVal backBrush As Brush, _ ByVal foreBrush As Brush, _ ByVal alignToRight As Boolean _ ) 'セルの値を取得する Dim cellValue As Object = _ Me.GetColumnValueAtRow(source, rowNum) If Not cellValue Is Nothing Then '値が"0"のセルの前景色と背景色を変える If CType(cellValue, String) = "0" Then foreBrush = New SolidBrush(Color.White) backBrush = New SolidBrush(Color.Black) End If End If '基本クラスのPaintメソッドを呼び出す MyBase.Paint(g, bounds, source, rowNum, _ backBrush, foreBrush, alignToRight) End Sub End Class
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.