Hola gnzsoloyo, lamento el haber tardado tanto en contestar. El codigo para cargar el ListView lo tengo en un Sub.
    
Código vb:
Ver original- Sub CargarDatos() 
-         Dim i As Integer 
-         Dim contador As Integer 
-         Try 
-             com.CommandText = "Select count(*) from clientes" 
-             If cn.State = ConnectionState.Closed Then 
-                 cn.Open() 
-             End If 
-             com.CommandText = "Select * from clientes order by ID" 
-             datos = com.ExecuteReader 
-   
-             ListView1.Clear() 
-   
-             With ListView1.Columns 
-                 .Add("ID", 30, HorizontalAlignment.Center) 
-                 .Add("Nombre", 75, HorizontalAlignment.Center) 
-                 .Add("Apellidos", 100, HorizontalAlignment.Center) 
-                 .Add("Teléfono", 70, HorizontalAlignment.Center) 
-                 .Add("Dirección", 150, HorizontalAlignment.Center) 
-                 .Add("Población", 90, HorizontalAlignment.Center) 
-                 .Add("Provincia", 90, HorizontalAlignment.Center) 
-             End With 
-             contador = 0 
-             Do While datos.Read 
-                 ListView1.BeginUpdate() 
-                 Dim elem As New ListViewItem 
-                 elem.ImageIndex = 0 
-                 elem.Text = datos.GetValue(0) 
-                 elem.Tag = datos.GetValue(0) 
-                 For i = 1 To datos.FieldCount - 1 
-                     elem.SubItems.Add(datos.GetValue(i)) 
-                 Next 
-                 If contador = 0 Then 
-                     elem.BackColor = Color.Beige 
-                     contador = contador + 1 
-                 Else 
-                     elem.BackColor = Color.Bisque 
-                     contador = contador - 1 
-                 End If 
-                 ListView1.Items.Add(elem) 
-                 ListView1.EndUpdate() 
-             Loop 
-   
-             ListView1.View = View.Details 
-             ListView1.FullRowSelect = True 
-             ListView1.GridLines = True 
-         Catch ex As Exception 
-             MessageBox.Show(ex.Message) 
-         End Try 
-         datos.Close() 
-         cn.Close() 
-     End Sub 
Como puedes ver uso el   
 al entrar el el bucle y el   
 antes de salir del bucle. 
Como te dije antes me sigue sin funcionar, asi que creo que no entiendo bien como funcionana esos eventos.