Я хотел бы отформатировать gridview на основе сравнения текущего значения строки (столбец 2) с предыдущим значением строки. Поэтому, если они одинаковы, цвет фона будет таким же, скажем, зеленым. Если они не совпадают, цвет фона будет красным. Например:Gridview сравнить текущую строку с предыдущей строкой
Gridview values
Car 1 (bg color green)
Car 1 (bg color green)
Car 2 (bg color red)
Car 3 (bg color green)
Car 3 (bg color green)
Car 3 (bg color green)
Я не смог заставить это работать. Вот код, который я придумал.
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated
If e.Row.RowType = DataControlRowType.DataRow Then
If Not e.Row.DataItem Is Nothing Then
'switch for first row
If e.Row.RowIndex = 1 Then
Dim Gprev As GridViewRow = GridView1.Rows(e.Row.RowIndex - 1)
If Gprev.Cells(1).Text = e.Row.Cells(1).Text Then
'e.Row.Cells(1).Text = ""
e.Row.BackColor = Drawing.Color.Red
End If
End If
'now continue with the rest of the rows
If e.Row.RowIndex > 1 Then
'set reference to the row index and the current value
Dim intC As Integer = e.Row.RowIndex
Dim lookfor As String = e.Row.Cells(1).Text
'now loop back through checking previous entries for matches
Do
Dim Gprev As GridViewRow = GridView1.Rows(intC - 1)
If Gprev.Cells(1).Text = e.Row.Cells(1).Text Then
'e.Row.Cells(1).Text = ""
e.Row.BackColor = Drawing.Color.Red
End If
intC = intC - 1
Loop While intC > 0
End If
End If
End If
End Sub
Вы хотите переключить цвет строки между красным/зеленым цветом, когда автомобиль отличается от предыдущего? – Henry
Да, это правильно – Mike