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
Load test di ASP.NET Core con k6
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Effettuare il binding di date in Blazor
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Short-circuiting della Pipeline in ASP.NET Core
Implementare il throttling in ASP.NET Core
I più letti di oggi
- annunciato #netstandard 2.1. .NET Core lo supporterà a partire da #netcore3, così come le prossime versione di #xamarin, #mono e #unity.il supporto per #netfx 4.8, invece, non ci sarà. https://aspit.co/bq2
- Annunciato Silverlight 4 RC e Windows Phone Developer Tools
- Speciale Razor: il nuovo view engine di WebMatrix e ASP.NET MVC
- Speciale Windows Store app: costruire app con WinRT per Windows 8
- Gestire lo stato all'interno di un class component di ReactJS
- Inserimenti bulk su database con la classe SqlBulkCopy di ADO.NET 2.0
- disponibile su MSDN la versione RTM di #VS2013 Update 2! https://aspit.co/auj #msTechEd