複数の列を含むグリッドビューを作成しました。差異列の値に基づいて、Teacher Assessment 列の背景列を変更したいと考えています。以下の現在のコードに基づいて、色の変更は機能していますが、行全体に色が付けられているため、Teacher Assessment 列にのみ適用したいと考えています。
スクリーンショットを撮りますが、担当者がまだいないので、テキストで表示してみます。
Target Teacher Assessment Difference (TA column colour)
C+ B- 1 Green
C+ C- -2 Red
C+ C+ 0 Yellow
これは、同様の問題への回答でWeb上で見つかったいくつかのコードから変更された背景色の変更をトリガーするために現在使用しているコードです:
Protected Sub gdViewAllopen_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim number = DirectCast(e.Row.DataItem, DataRowView)("Difference").ToString()
Select Case number
Case 0
e.Row.BackColor = System.Drawing.Color.Yellow
Case Is > 0
e.Row.BackColor = System.Drawing.Color.Green
Case Is < 0
e.Row.BackColor = System.Drawing.Color.Red
End Select
End If
End Sub
それを止めた!こちらもとっても簡単!! ああ、これは他人の利益のためです。Cells(n)
の後に追加するだけRow
です:
e.Row.Cells(2).BackColor = System.Drawing.Color.Yellow