Я хочу сделать одно и то же условие для всех строк данных, связанных ячейки, как это сделать?
Я хочу, чтобы все клетки имели свой собственный цвет
например,
- status = v ---> желтый цвет
- status = PH ---> Цвет Зеленый
- статус = H -----> синий
- еще статус ----> красный
Это код этой ситуации
Protected Sub gvMonthlyReport_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
e.Row.CssClass = "HeaderRow"
e.Row.HorizontalAlign = HorizontalAlign.Center
e.Row.VerticalAlign = VerticalAlign.Middle
End If
'If e.Row.RowType = DataControlRowType.DataRow Then
' e.Row.CssClass = "cellRow"
'End If
If e.Row.RowType = DataControlRowType.DataRow Then
Dim cell As TableCell = e.Row.Cells(17)
Dim status As String = cell.Text
If status = "v" Then
cell.BackColor = Color.Yellow
ElseIf status = "H" Then
cell.BackColor = Color.Blue
ElseIf status = "P.H" Then
cell.BackColor = Color.Green
Else
cell.BackColor = Color.Red
End If
End If
End Sub
этот код, который я сделал, дает мне выходной цвет только один столбец, как это изображение
на самом деле я хочу, чтобы все колонки, кто-то может показать мне?
1 ответ
Решение
У вас есть жестко запрограммированная ячейка с номером 17, но вам нужно использовать цикл в событии RowDataBound.
If (e.Row.RowType = DataControlRowType.DataRow) Then
Dim i As Integer = 0
Do While (i < e.Row.Cells.Count)
Dim cell As TableCell = CType(e.Row.Cells(i),TableCell)
cell.BackColor = Color.Red
i = (i + 1)
Loop
End If