Questo semplice script mostra l'utilità della funzione addElemento per aggiungere alle DropDownList un elemento standard quando il riempimento dell'oggetto viene effettuato direttamente da un database.
Questa funzionalità è molto utile quando abbiamo bisogno di un valore neutro: nell'esempio riportato la lista fa selezionare un indirizzo web presso cui eseguire un'ipotetica ricerca, con la possibilità di poter effettuare la ricerca fra tutti quelli elencati.
Il vantaggio di questa opzione deriva dal fatto che il controllo sulla selezione viene effettuato sul valore "0" e non sui vari Nothing, DBnull o "" che sono sicuramente più difficili da gestire.
<%@ page language="vb" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.oleDB" %> <SCRIPT RUNAT="Server"> Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) If Not IsPostBack Then Dim myConnection As New OleDBConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\lista.mdb") Dim Adapt as new OledbDataAdapter("SELECT id, lista FROM Liste", myConnection) 'riempio il dataset Dim Ds As DataSet = new DataSet() Adapt.Fill(Ds, "Liste") ' Associazione di un dataset ad una DropDownList ' Chiamata alla funzione addElemento Lista.DataSource = addElemento(ds, "lista") Lista.SelectedValue = 0 Lista.DataValueField = "id" Lista.DataTextField = "lista" Lista.DataBind() ds.clear myConnection.Close() End If End Sub Private Function addElemento(ds As dataset, ordina As String) ' aggiungo un valore qualsiasi nei dati recuperati dal database utilizzando un Datatable ed un Datarow Dim dt As datatable dt = ds.Tables(0) Dim newRow As DataRow = dt.NewRow() ' creo valore(0) e testo visualizzato(1) newRow(0) = 0 ' importante lo spazio all'inizio per apparire al primo posto newRow(1) = " tutti " dt.Rows.Add(newRow) ' riordino la tabella con un Dataview attraverso il parametro "ordina" Dim dv As dataview = ds.Tables(0).DefaultView dv.sort = ordina return dv End Function </SCRIPT>
Nella pagina basterà aggiungere un normale controllo dropdownlist:
<asp:dropdownlist id="Lista" Runat="server" />
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Utilizzare una qualunque lista per i parametri di tipo params in C#
- Includere un button in un component ed esporne l'evento click in Angular
- #SQLServer #Modeling (codename Oslo) CTP di nov 2009 aggiornato per VS 2010 RC: http://u.aspitalia.com/fi
- .NET Conference Italia 2019 Live - Milano
- Accedere a file XML remoti con ASP.NET
- Creare una libreria CSS universale: Nav menu
- Utilizzare funzioni di istanza con le Azure Function
- A quick tour around Azure Dev Spaces