spaete inidarmi il codice per popolare un oggetto
asp:dropdownlist con i valori presi da una tabella di database, ossia come fare il bind di una dataset o datareader in una dropdownlist?
spaete inidarmi il codice per popolare un oggetto
asp:dropdownlist con i valori presi da una tabella di database, ossia come fare il bind di una dataset o datareader in una dropdownlist?
Cristiano
Il codice che ho usato io funziona ed è il seguente:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
Dim strConn As String
strConn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("login.mdb")
Dim strSQL As String = "select titolo, codice from categorie"
Dim MyConnection As New OleDbConnection(strConn)
Dim Comm As OleDbCommand = New OleDbCommand(strSQL, MyConnection Comm.CommandType = CommandType.Text
Dim DA As OleDbDataAdapter = New OleDbDataAdapter()
DA.SelectCommand = Comm
Dim DS As New DataSet()
DA.Fill(DS, "categorie")
Dim DV As New DataView(DS.Tables("categorie"))
Puoi definire le proprietà sia nel codice che nel controllo stesso all'interno della pagina
'DDL.DataTextField= "titolo"
'DDL.DataValueField = "codice"
DDL.DataSource = DV
DDL.DataBind()
End If
End Sub
********************************
<asp:dropdownlist DataTextField="titolo" id="DDL" style="Z-INDEX: 101; LEFT: 267px; POSITION: absolute; TOP: 192px" Runat="server" AutoPostBack="false" Height="27px" Width="263px" EnableViewState="true" />
****************************************
Usando if Not Ispostback eviti che l'item del dropdownlist torni sempre a quello corrispondente all'indice (0).
Spero di esserti stato utile
Elliot
Prova con un variabile array.
Forse non e la migliore pero funziona. E poi col ogeto DataReader
impieghi meno risorse di memoria da parte del server, e un aspeto da non dimenticare.
Se nel fratempo hai una modalita migliore fami sapere.
Ciao
<script runat="server">
dim nomevariabila As Collection = New Collection()
Sub Page_Load(obj As Object, e As EventArgs)
If not Page.IsPostBack Then
dim objconn as new OLEDBConnection
("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= il tuo path ")
dim objcomm as new OLEDBCommand("SELECT NomeCampo FROM Tabela", objconn)
dim dr as OLEDBDataReader
objconn.Open()
dr = objcomm.ExecuteReader
while dr.Read
' Inserisi i dati nele variabila array
nomevariabila.Add(dr.GetString(0))
End while
objconn.Close()
iltuodropdownlist.DataSource = nomevariabila
End If
DataBind()
End Sub
<asp:dropdownlist id="iltuodropdownlist" runat="server" autopostback="true" />