Inserire in una DropDown la prima riga Vuota

venerdì 05 giugno 2009 - 17.38

$ilver Profilo | Junior Member

Ciao è da un po che non vi rompo le scatole e fin che ho potuto ho cercato di continuare a farlo, ma ora non so come uscirne fuori.

Io ho una dropdownlist che riempo con dati inseriti in un db, io però vorrei che la prima riga non fosse valorizzata ma fosse vuota, come posso fare?
Qui sotto il codice con il quale riempo la mia drop nella pagina aspx
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
Grazie mille a tutti

biroph Profilo | Junior Member

Ciao,
allora o inserisci una riga vuota nel datatable che passi al datasource:

DataRow drBlank = dt.NewRow();
dt.Rows.InsertAt(drBlank, 0);

Oppure utilizzi la propietà insert della collection items del DropDownList:

DropDownList dl = new DropDownList();
dl.Items.Insert(0, (new ListItem()));

ciao

$ilver Profilo | Junior Member

Scusa mi sono dimenticato di dirti che io sto scrivendo in vb net.
Però il mio problema è che la riempo direttamente dalla pagina aspx e non dal codebehind, non so se sono riuscito a farmi capire.

samar Profilo | Senior Member

Imposti la proprietà AppendDataBoundItems="True" e inserisci un LISTITEM, ti riporto un esempio:


Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

$ilver Profilo | Junior Member

>Imposti la proprietà AppendDataBoundItems="True" e inserisci
>un LISTITEM, ti riporto un esempio:
>
>
><asp:DropDownList runat="server" ID="DDL_link" AppendDataBoundItems="True"
>DataSourceID="SqlDataSource1" DataTextField="link" DataValueField="id_link">
><asp:ListItem Text="Seleziona" Value=""></asp:ListItem>
> </asp:DropDownList>

Grazie mille funziona, anche io avevo provato con list item ma non sapevo della proprietà AppendDataBoundItems="True".
Ti ringrazio davvero tanto.

samar Profilo | Senior Member

Figurati, alla prox.

$ilver Profilo | Junior Member

Non volevo aprire un altro thread, perchè si tratta di un problema che ho sempre su questa drop che viene riempita tramite la pagina.aspx .
Volevo chiederti come posso fare il refresh della drop dopo che cliccando su un pulsante inserisco un elemento nuovo nel db?

Nel codebehind ho provato ad inserire questa istruzione, drop.databind(), però mi duplica gli elementi e poi mi mette l'elemento appena inserito.
Esempio:
Prima dell'inserimento
1,2,3
Dopo Inserimento ( drop.databind() )
1,2,3,1,2,3,4

Come posso fare per non fare duplicati?
Grazie mille

samar Profilo | Senior Member

Prova ad inserire

drop.Items.Clear()

prima di rifare il binding...in questo modo ripulisci la ddl e poi la ricarichi con i nuovi dati

$ilver Profilo | Junior Member

Grazie mille di nuovo.
Non ci avevo pensato di fare il clear prima.

Grazie davvero.
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