Vamos usar o SelectedIndexChanged do ListView para atualizar seus campos.
Você provavelmente saiba como chegar nele, mas só para deixar documentado. Selecione seu ListView, na janela de propriedades, click no "raiozinho" na toolbar. Encontre o evento SelectedIndexChanged e dê um duplo click nele. Aí, codifique algo como o exemplo abaixo:
Private Sub MeuListView_SelectedIndexChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles MeuListView.SelectedIndexChanged
'-- Verifica se há alguma linha selecionada
If Me.MeuListView.SelectedItems.Count = 0 Then
Exit Sub
End If
'-- Já que o membro (tag) para cada row é a primary key (set a primary key
'de sua tabela), nós podemos usar este valor para navegar diretamente o
'nosso BO. Esta Tag foi setada no PopulationDataSourceSettings do ListView
Me.MeuBO1.NavigateToPrimaryKey(CType(Me.MeuListView.SelectedItems(0).Tag, Integer))
End Sub
Quando usamos o NavigateToPrimaryKey, ele navega até a row do seu business object e faz um refresh de todos bound controls do seu form.
Deu para pegar a idéia? Se não, dá um toque e tentamos de novo.