Pourquoi la liste déroulante ne montre-t-elle pas d'abord mon élément vierge? Voici ce que j'ai
drpList.Items.Add(New ListItem("", ""))
With drpList
.DataSource = myController.GetList(userid)
.DataTextField = "Name"
.DataValueField = "ID"
.DataBind()
End With
Edit ~ Je suis lié à une Generig List, cela pourrait-il être le coupable?
asp.net
drop-down-menu
Saif Khan
la source
la source
Réponses:
Après votre databind:
la source
Vous pouvez utiliser
AppendDataBoundItems=true
pour ajouter facilement:la source
La liaison de données a lieu une fois que vous avez ajouté votre élément de liste vide et remplace ce qui existe déjà, vous devez ajouter l'élément vide au début de la liste à partir de votre contrôleur, ou l'ajouter après la liaison de données.
ÉDITER:
Après avoir effectué une recherche rapide sur Google à partir d'ASP.Net 2.0, il existe une véritable propriété "AppendDataBoundItems" que vous pouvez définir pour ... ajouter les éléments liés aux données.
pour plus de détails, voir
http://imar.spaanjaars.com/QuickDocId.aspx?quickdoc=281 ou
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.appenddatabounditems.aspx
la source
Je pense qu'une meilleure façon est d'insérer d'abord l'élément vierge, puis de lier les données comme vous l'avez fait. Cependant, vous devez définir la
AppendDataBoundItems
propriété du contrôle de liste.Nous utilisons la méthode suivante pour lier n'importe quelle source de données à n'importe quel contrôle de liste ...
la source
Comme "Whisk" Said, l'astuce est dans la propriété "AppendDataBoundItems"
Merci "Whisk"
la source
Faites votre liaison de données, puis ajoutez ce qui suit:
la source
il semble que vous ajoutez un élément vide, puis une liaison de données, ce qui viderait la liste; essayez d'insérer l'élément vide après la liaison de données
la source
Facile
enfin
la source
ddlCategory.DataSource = ds;
ddlCategory.DataTextField = "CatName";
ddlCategory.DataValueField = "CatID";
Cách 1:
ddlCategory.Items.Add(new ListItem("--please select--", "-1"));
ddlCategory.AppendDataBoundItems = true;
ddlCategory.SelectedIndex = -1;
ddlCategory.DataBind();
Cách 2:
ddlCategory.Items.Insert(0, new ListItem("-- please select --", "0"));
(Testé OK)
la source
Vous pouvez également avoir une union de la sélection vide avec la sélection qui a du contenu:
la source