You can do this with the ListView... Here's a snippet of code I have that does something very similar to what you're doing.
While oDR.Read
Dim ThisItem As New ListViewItem
ThisItem.Text = CType(oDR.Item("LogID"), String)
If oDR.Item("ErrorLogExclusion") = True Then
ThisItem.SubItems.Add("*")
ThisItem.BackColor = Color.Aqua
Else
ThisItem.BackColor = Color.White
ThisItem.SubItems.Add("")
End If
ThisItem.SubItems.Add(CType(oDR.Item("MsgSubj"), String))
ThisItem.SubItems.Add(CType(oDR.Item("ApplFName"), String))
ThisItem.SubItems.Add(CType(oDR.Item("ApplLName"), String))
ThisItem.SubItems.Add(CType(oDR.Item("SSN"), String))
lsvResults.Items.Add(ThisItem)
End While
In mine, as I'm building "ThisItem", I check a value in the database.. if it's true, I set the backgroud of just that row to Color.Aqua.
--
James