I Solve it using a collection, but I have to loop twice to all datagridview cells
Dim dt = GetDataFromSqlServerForTableCustomer()
Dim bs As New BindingSource
bs.DataSource = dt
dgv1.DataSource = bs
coll = New Collection
'Read DGV into Collection
For i = 0 To dgv1.Rows.Count -1
For j = 0 To dgv1.ColumnCount -1
coll.Add(dgv1(j,i).Value,i.ToString+j.ToString)
Next
Next
' DO Data Manipulation
bs.ResetBindings(False)
' Compare DGV after update with Collection
For i = 0 To dgv1.Rows.Count - 1
For j = 0 To dgv1.ColumnCount - 1
If coll(i.ToString+j.ToString) <> dgv1(j,i).Value
dgv1(j,i).Style.BackColor = Color.MistyRose
End If
Next
Next
I wonder if there is better way to do it.