title: Gridview compare current row to previous row
body: <p>I would like to format a gridview based on comparing the current row value (column 2) with the previous row value.  So if they are the same the background color would be that same, say green.  If they are not the same the background color would be red.  For example:</p>
  
  <pre><code>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)
  </code></pre>
  
  <p>I have not been able to get this to work.  Here is the code I came up with.</p>
  
  <pre><code>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 &gt; 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 &gt; 0
  
              End If
  
          End If
  
      End If
  
  End Sub
  </code></pre>