[C#] dropdownlist

tobleronne Messages postés 104 Date d'inscription vendredi 8 août 2003 Statut Membre Dernière intervention 1 mars 2005 - 19 mars 2004 à 11:23
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 24 mars 2004 à 14:13
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

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
19 mars 2004 à 21:39
Je ferais tout simplement comme ca :
DropDownList1.SelectedIndex() = 2

Cyril (Alias Jesusonline)
0
tobleronne Messages postés 104 Date d'inscription vendredi 8 août 2003 Statut Membre Dernière intervention 1 mars 2005
20 mars 2004 à 00:51
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
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
24 mars 2004 à 14:13
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)
0
Rejoignez-nous