I used a DGV with 3 columns for this, hope it helps.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
setHighLightsForConflicts(DataGridView1)
End Sub
Sub setHighLightsForConflicts(ByVal selDGV As DataGridView)
With selDGV
Dim s1, s2 As String, chrMain As Char : s1 = "" : s2 = s1 : chrMain = "|"
For i As Integer = 0 To .RowCount - 1 '// loop thru all rows.
With .Rows(i)
s1 = .Cells(0).Value & chrMain & .Cells(1).Value & chrMain & .Cells(2).Value '// store the row's value, easier to manage and compare to other rows.
End With
If Not i + 1 = .RowCount Then '// check if next item to check exists.
For x As Integer = i + 1 To .RowCount - 1 '// loop thru all items following the s1.Item.
With .Rows(x)
s2 = .Cells(0).Value & chrMain & .Cells(1).Value & chrMain & .Cells(2).Value '// set value.
If s1 = s2 Then '// compare and get results.
.DefaultCellStyle.BackColor = Color.Aquamarine
selDGV.Rows(i).DefaultCellStyle.BackColor = Color.Aquamarine
End If
End With
Next
End If
Next
End With
End Sub