Riempire una combo

lunedì 27 novembre 2006 - 15.00

ANNA79 Profilo | Junior Member

AIUTO PLEASE

ho delle combo box da riempire, ho scritto nel mio modulo vb il seguente codice

Dim sql As String
Dim adapter As New SqlDataAdapter
Dim cmd As SqlCommand

Dim DataSet As New DataSet
Dim locDAOReperibilita As New clsDAOReperibilita
cmbliv1.Items.AddRange(locDAOReperibilita.getAllZona(DataSet, "Reperibilita"))


e mi va a richiamare la seguente routine nella classe DAOReperibilita


Public Function getAllZona(ByRef dsDati As DataSet, ByVal TableName As String)
Dim SQL As String
'Routine di riempimento combo Zona
SQL = "Select Distinct Zona from Reperibilita "
Dim DatiZona As New SqlDataAdapter

DatiZona.SelectCommand = New SqlCommand(SQL, conn)
DatiZona.Fill(dsDati, TableName)

End Function


Sicuramente il mio dataset è pieno ma sbaglio qualcosa nell'assegnare i valori presi nella combo? perchè appena ritorna su cmbliv1.Items.AddRange mi fa il botto....



Ringrazio Anticipatamente
Anna

ysdemarc Profilo | Expert

Non so non ho mai usato sto tipo di riempimento.
Però è possibile che sia poichè la tua function getAllZona non ti restituisce alcun valore invece del dataset?
non ho visto nessuna return.

Io di solito mi creo un pe rriempire le combo o le listbox dopo aver letto i dati nel db li metto all'interno di un oggetto (come il buon bean del java) che al su interno ha il metodo ToString() poi questo lo aggiungo alla mi IList che la do in pasto al DataSource dellla combo. Così mi ritrovo la combo valorizzata come testo in quello che ho scritto nel ToString() e leggendo la selezione poi avrò l'intero bean.. così evito di rifare un'altro accesso al db per leggere le particolarità di ciò che l'untente ha selezionato poichè già me le ritrovo..
Vincenzo
Programmatore sbilenco

ANNA79 Profilo | Junior Member

In effetti ho sbagliato io una return ci doveva essere e anche un ciclo per prendermi tutti i dati

ekko qui

'Routine di riempimento combo Zona
SQL = "Select Distinct Zona from Reperibilita where Zona is not Null "
Dim dt As DataTable
Dim dr As DataRow

dt = getBySQL(SQL)

Dim i As Int64 = 0
Dim locDati(dt.Rows.Count - 1) As String

For Each dr In dt.Rows
locDati(i) = dr.Item("ZONA")
i += 1
Next

Return locDati


grazie anna
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5