Hi Thushara:
my way of routinely dealing with a situation like this is to introduce a public boolean variable, e.g. 'Dim b_ByPassOn as Boolean' and then insert the following statement at the beginning of the SelectedIndexChanged event:
If b_ByPassOn Then Exit Sub
and then set the variable to True before you change the SelectedItem property and back to False after you changed the SelectedItem property:
b_ByPassOn = True
cmbSystem.SelectedItem = DataGridView1.Rows(rowID).Cells(2).Value
b_ByPassOn = False
This may not be the most elegant solution, but it does the trick.
Hope this helped,
Rolf