DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DATAGRIDVIEWの色変(固定行)について

環境/言語:[.NET 2.0]
分類:[.NET]

お世話になります。
VBを初めて一か月のものです。

DATAGRIDVIEWの3行目、4行目と以降の行を2行ずつ間隔を空けて、背景色を
変えたいと考えています。
下記のようにコーディングしています。

フィールド項目(COLORS)を参照して、色を変えたいと思います。
データグリッドビューにはテーブルをバインディングしています。

しかし、フィールド項目を追加したから、ColumnIndexの値が
おかしく、追加分を判定出来ていません。

色を変える行は、固定でよいので、なにか簡潔に背景をかえることはできないでしょうか?



/* CellFormattingイベント */
Private Sub DataGridViewSK_CellFormatting(ByVal sender As Object, _
ByVal e As DataGridViewCellFormattingEventArgs) _
Handles DataGridViewSK.CellFormatting

/* COLORSフィールドが1であれば背景色を変える */
  If DataGridViewSK.Columns(e.ColumnIndex).Name = "COLORS" AndAlso _
    TypeOf e.Value Is Integer Then
Dim val As Integer = CInt(e.Value)

If val = 1 Then
e.CellStyle.BackColor = Color.Yellow
ElseIf val = 0 Then
e.CellStyle.BackColor = Color.Red
End If
End If
End Sub
Dim val As Integer = CInt(DataGridViewSK("COLORS", e.RowIndex).Value)

とか出来なかったかな?
頭痛くて余り考えられない...
■No25577に返信(ヴァンさんの記事)
> Dim val As Integer = CInt(DataGridViewSK("COLORS", e.RowIndex).Value)
>
> とか出来なかったかな?
> 頭痛くて余り考えられない...

ヴァンさん アドバイスありがとうございます。

教えていただいた通りコーディングした所、うまく色が
変わりました。


教えて頂いて言いにくいのですが、描画の速度が少し遅い気がするのですが、
CellFormattingイベントにあるからでしょうか?

もう少し早く表示することはできないのでしょうか?

DOBON.NET | プログラミング道 | プログラミング掲示板