[C#] dropdownlist

Signaler
Messages postés
104
Date d'inscription
vendredi 8 août 2003
Statut
Membre
Dernière intervention
1 mars 2005
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Bonjour,

J'essaye d'afficher une dropdownlist avec un element selectionné.
Par exemple ma dropdownlist presente des pays (france, italie...).

je voudrais que lorsque j'arrive sur cette page, comme dans ma Bdd j'ai "italie", alors le selected soit mis a "italie" et non au 1er element de ma dropdownlist.

voila ce que je fais :

Code:

oDropDownList = new DropDownList();
oDropDownList.DataSource = oDataViewTable(arrParamTable[2]);
oDropDownList.DataTextField = oDataViewTable(arrParamTable[2]).Table.Columns[1].ToString();
oDropDownList.DataValueField = oDataViewTable(arrParamTable[2]).Table.Columns[0].ToString();
oDropDownList.DataBind();

oDropDownList.ID = arrParamTable[2].ToString();

oDropDownList.Items.FindByValue("2").Selected = true;

Je croyais que "oDropDownList.Items.FindByValue("2").Selected = true;" allé regler mon pb, et bien non ?!?

merci a vous

3 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Je ferais tout simplement comme ca :
DropDownList1.SelectedIndex() = 2

Cyril (Alias Jesusonline)
Messages postés
104
Date d'inscription
vendredi 8 août 2003
Statut
Membre
Dernière intervention
1 mars 2005

oDropDownList.SelectedIndex=2 ne fonctionne pas ?!?

Je vous explique ce que je fais.

J'ai une classe avec une methode qui genere mes webcontol, dans laquelle il y a :

Code:
oDropDownList = new DropDownList();
oDropDownList.DataSource = oDataViewTable(arrParamTable[2]);
oDropDownList.DataTextField = oDataViewTable(arrParamTable[2]).Table.Columns[1].ToString();
oDropDownList.DataValueField = oDataViewTable(arrParamTable[2]).Table.Columns[0].ToString();
oDropDownList.DataBind();
oDropDownList.CssClass = "flyoutLink";
oDropDownList.ID = arrParamTable[2].ToString();
oDropDownList.SelectedIndex = 2;
Table1.Rows[nI].Cells[0].Controls.Add(oLabel);
Table1.Rows[nI].Cells[1].Controls.Add(oDropDownList);

Puis ds la page ou je veux afficher mes webcontrol j'apelle cette methode:
Code:
//Ordre d'affichage - Nom du libellé - Nom Id du control - ValeurVenantBdd - Type du control
oSortedList.Add("4-Périodicité-periodicite-" + cPeriodicite,"select");
myHolder.Controls.Add(oGen.generateEdit(oSortedList));

Cela dis j'ai l'impression que ds ma class il mets bien ds selected ou il faut mais le perds lors de l'affichage.

merci
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Moi j'ai fait ca (en VB)

DropDownList1.DataSource = Split("1,2,3,4,5,6", ",")
DropDownList1.DataBind()
DropDownList1.SelectedIndex = 2

Et ca marche tres bien, l'element affiché est bien le bon essaye de simplifier ton code sur une page temporaire ou alors de commencer ton code à partir d'un code qui marche, et essaye de voir à partir d'ou ca ne marche plus

Cyril (Alias Jesusonline)