Recuperer la valeur du cellule du gridview dans un dropdownlist

niyericsson Messages postés 30 Date d'inscription lundi 9 avril 2012 Statut Membre Dernière intervention 17 juillet 2014 - 17 juil. 2014 à 00:00
 niyericsson - 16 août 2014 à 11:47
Bonjour, a tous...

Je voudrais juste vous demander si vous pourriez m'aider a resoudre ce probleme.
Au fait j'ai un gridview qui contenant des donnees venu de la base de donnees.
A ce dernier j'ai ajoute un lien pour la modification et un autre pour la supression.Je voudrais juste savoir comment faire recuperer la valeur du cellule de ce gridview dans un dropdownlist...Pour les autres champs ca marche mais quand j'arrive sur un dropdownlist je n'arrive pas a recuperer cette valeur..j'ai lu de nombreux articles et je ne suis pas parvenu a resoudre ce probleme.

Voici mon code behind


 protected void ImageButton_Click(object sender, ImageClickEventArgs e)
       
     {
            ImageButton imgBtn = (ImageButton)sender;
            GridViewRow grv = (GridViewRow)imgBtn.NamingContainer;
            lblId.Text = grv.Cells[0].Text;
            tBoxName.Text = grv.Cells[1].Text;
            tBoxPrenom.Text = grv.Cells[2].Text;
            tBoxSurnom.Text=grv.Cells[3].Text;
            myDropDowlist.Text = grv.Cells[4].Text;         

            txtDate.Text = grv.Cells[5].Text;
            txtPhone.Text = grv.Cells[6].Text;
            txtJob.Text = grv.Cells[7].Text;
            txtEmail.Text = grv.Cells[8].Text;
            tBoxAdress.Text = grv.Cells[9].Text;

            this.ModalPopExtender1.Show();

     }



Je vous remercie d'avance pour votre aide...

4 réponses

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
11 août 2014 à 12:23
salut,

il faut que tu sélectionnes l'item du dropDownList,
si tu n'as pas la valeur directe pour SelectedItem,tu pourras faire ceci

// recherche le selectedValue par  texte
myDropDowlist.SelectedValue = myDropDowlist.Items.FindByText(grv.Cells[4].Text);

// Si le texte et la valeur sont identiques, tu pourras faire :
myDropDowlist.SelectedValue = grv.Cells[4].Text;


bye...
0
Merci Yann_lo_sann pour ton soutien tout en m'excusant du retard pris pour vous repondre a ce message,

j'ai juste essaye le code suivant:

ddlPays.selectedValue = ddlPays.items.FindByText(grv.Cells[4].Text).ToString();

mais j'obtiens l'erreur suivant:

ddlPays has a selectedValue which is invalid because it does not exist in the list of items...

Merci encore une fois de vouloir m'aider car ca fait longtemps que je cherche le truc et que j'ai pas encore trouve...

a ++
0
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
13 août 2014 à 13:38
Salut,

En fait il suffit de remplacer le toString() par Value.
FindByText() renvoi un ListItem et pas une valeur

// Exemple: une DDL pays (texte = nom du pays et valeur = code)

// Ajoute FRANCE (FR)
ddlPays.Items.Add( new ListItem("FRANCE", "FR") );

// Ajoute ESPAGNE (ES)
ddlPays.Items.Add( new ListItem("ESPAGNE", "ES") );


// selectionne Espagne par "texte"
ddlPays.SelectedValue = ddlPays.Items.FindByText("ESPAGNE").Value;

//ou par "valeur"
ddlPays.SelectedValue = ddlPays.Items.FindByValue("ES").Value;



// tu peux aussi selectionner directement l'item 
ddlPays.SelectedItem = ddlPays.Items.FindByValue("ES");


bye...
0
Merci Yann_lo_sann,

Je m'excuse pour ne pas vous avoir repondu tres top mais je voulais juste signaler que je remplis mon avec les donnees provenant de la bdd avec le code suivant:




DataTable tbl1 = new DataTable();
tbl1.Columns.Add("@countryName", typeof(string));
tbl1.Columns.Add("@countryId", typeof(int));
this.ddlPays.DataSource = tbl1;

string rqt1 = "select countryId,countryName from tbl_countries";
SqlCommand cmd1 = new SqlCommand(rqt1, conn1);

SqlDataReader reader1 = cmd1.ExecuteReader();
tbl1.Load(reader1);
this.ddlPays.DataTextField = "countryName";
this.ddlPays.DataValueField = "countryId";
this.ddlPays.DataBind();



merci bcp pour votre assistance...
0
Rejoignez-nous