è capitato spesso che nel forum vensisse posta la domanda di come inserire un elemento neutro in auna DropDpwnList, la classica voce "seleziona un valore", il codice per farlo è semplicissimo, giusto una riga:
CategoryDropdownlist.Items.Insert(0,new ListItem("NessunFiltro","-1"));
ma con un ulteriore sforzo si può realizzare un WebControl che eredita da System.Web.UI.WebControls.DropDownList e aggiungere due propietà , soluzione sicuramente più riusabili che del semplice copia/incolla ecco il codice:
using System; using System.Web; using System.Text; using System.Web.UI; using System.Web.Caching; using System.Web.UI.WebControls; using System.ComponentModel; [assembly: TagPrefixAttribute("DropList","Drop")] namespace DropList { /// <summary> /// Descrizione di riepilogo per Drop. /// </summary> /// [ToolboxData("<{0}:Drop runat=server></{0}:Drop>")] public class Drop: System.Web.UI.WebControls.DropDownList { public Drop() { this.PreRender += new EventHandler(Drop_PreRender); } protected void Drop_PreRender (object sender, EventArgs e) { if(NeutralText.Length > 0 & NeutralValue.Length > 0) { this.Items.Insert(0,new ListItem(NeutralText,NeutralValue)); } } [Browsable(true)] public string NeutralText { get { object obj1 = this.ViewState["NeutralText"]; if (obj1 != null) { return ((string) obj1); } return string.Empty; } set {ViewState["NeutralText"] = value;} } [Browsable(true)] public string NeutralValue { get { object obj1 = this.ViewState["NeutralValue"]; if (obj1 != null) { return ((string) obj1); } return string.Empty; } set {ViewState["NeutralValue"] = value;} } } }
nel codice creiamo una nuova classe che eredita da DropDownList, aggiungiamo due propietà che non fanno altro che prendere due valori string dal VievState rispettivamente il testo da visualizzare ed il valore. nel costruttuore ci registriamo per l'evento Prerender, in questo evento andiamo ad aggiungere il nostro item "neutro" prelevando i valori dal VievState ed il gioco è fatto, compiliamo la classe in una dll e potremo così usarla in ogni nostro progetto
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Modificare il controllo TreeView, il 2 dicembre 2008 alle 19:27
- Perfezioniamo il ProfileDataSorce, il 13 ottobre 2008 alle 11:14
- Un DataSource per il Profile, il 10 ottobre 2008 alle 15:06
- TrueSpace 7 gratuito, il 24 luglio 2008 alle 10:59
- adesso dico la mia sull'Iphone, il 22 luglio 2008 alle 10:33
- Come tutto ebbe inizio, il 21 luglio 2008 alle 09:22