RE:Cargar datos en un Listview
Dado que el ListView no es un control enlazado, debes llenarlo a "mano", asi que debes tomar en cuenta si la vas a procesar mucho volumen de datos (si ese es el caso te sugiero usar un dataGrid)
Por ejemplo
Dim oCol As DataColumn
Dim oRow As DataRow
Dim i As Integer
'Encabezados de las columnas
For Each oCol In ds.Tables(0).Columns
ListView1.Add( oCol.ColumnName, 80, HorizontalAlignment.Center)
Next
' Agrega Datos
For Each oRow In ds.Tables(0).Rows
' Primera columna
Dim ls As New ListViewItem( oRow(1).ToString())
for i=1 To ds.Tables(0).Columns.Count
ls.SubItems.Add( oRow(i).ToString())
Next i
ListView1.Items.Add(ls)
Next