Ciao a tutti; Sono ancora alle prime armi in Vb.NEt (ho sempre e continuo a lavorare con VB6). Recentemente sto cercando di passare al .NET (Ver. 2005)
Semplicemente devo riempire un listview, partendo da un DataAdapter o da un DataReader.
Sono riuscita a eseguire il riempimento lavorando da dataset (allego funzione di riempimento); con DataAdapter o DataReader invece ho qualche problema..
Ex:
Public MyConn As New SqlConnection
Public DA As New SqlDataAdapter
Public DR As SqlDataReader
Public cmd As New SqlCommand
'................................................. ...
' ....definisco la connessione e la apro.......
'................................................. ..
StrSQL = "SELECT ID, TIPO, FORNITORE, DESCRIZIONE, "
StrSQL = StrSQL & " RICHIEDENTE, SCADENZA, VALORE
StrSQL = StrSQL & " FROM SCADENZIARIO"
DA.SelectCommand = New SqlCommand(StrSQL, MyConn)
DA.SelectCommand.ExecuteReader()
' o in caso di DataReader
cmd = New SqlCommand(StrSQL, MyConn)
DR = cmd.ExecuteReader
' .... e ora'???
Grazie
Marco
'================================================= ===========
'Questo codice permette di riempire una listview partendo da un dataset
'================================================= ===========
Public Sub RiempiListView(ByVal unDataSet As DataSet, ByVal unListView As ListView)
Dim i As Integer = 0
Dim myTable As DataTable
Dim myRow As DataRow
Dim myColumn As DataColumn
Dim uneChaine As String
Dim j As Integer
LW.FullRowSelect = True 'Permette di selezionare la riga intera
'LV.GridLines = boolShowGrid
LW.HideSelection = False
LW.HoverSelection = True
'inizializzo il controllo ImageList con le icone da inserire in listview
LW.SmallImageList = ImageList1
'Pulisco la ListView
unListView.Clear()
'Contruisco le intestazioni colonna che corrispondono al nomi delle colonne della tabella
For Each myTable In unDataSet.Tables
For Each myColumn In myTable.Columns
unListView.Columns.Add(myTable.Columns(i).ColumnNa me, 60, HorizontalAlignment.Left)
i = i + 1
Next
Next
j = 0
'comincio a pololare le righe della listview
For Each myTable In unDataSet.Tables
For Each myRow In myTable.Rows
i = 1
Dim LVI As New ListViewItem
Dim IndexIcona01 As Integer = 1
'lvItem = New ListViewItem(" " & CStr(DR(0)), IndexIcona01) 'add the main listitem for each row
For Each myColumn In myTable.Columns
If i = 1 Then
'LVI.Text = CType(myRow(myColumn) & "", String)
LVI.Text = CType(myRow(myColumn) & "", String)
'ImageList1.Images.Item(3).Tag &
Else
uneChaine = CType(myRow(myColumn) & "", String)
LVI.SubItems.Add(uneChaine)
End If
i += 1
Next myColumn
REM Permette di alternare i colori delle righe
If (j Mod 2) = 0 Then
unListView.Items.Add(LVI).BackColor = Color.White
'unListView.Items.Add(LVI).ImageList.Images(1) =
'lvItem = New ListViewItem(" " & CStr(DR(0)), IndexIcona01)
Else
unListView.Items.Add(LVI).BackColor = Color.AliceBlue
End If
j += 1
Next myRow
Next myTable
unListView.View = View.Details
unListView.AutoArrange = True
End Sub