Ciao a tutti!
Ho una Gridview, contenente un campo <EditItemTemplate>, dove ho inserito una DropDownList (che vado a popolare dinamicamente con 4 items predefiniti, ad esempio:
1)foo
2)bar
3)pippo
4)pluto ).
Poniamo che il campo della Gridview mostri l'item "pippo" e voglio editarlo:
Quando vado a fare l'edit sulla DropDownList di prima, mi ritrovo sempre selezionata la 1a item, in questo caso:"foo"; invece vorrei ritrovarmi l'tem "pippo".
Quindi come faccio a impostare il SelectedValue col valore "vecchio" prima di selezionare quello nuovo?
Vi ringrazio in anticipo per la pazienza ragazzi, vi allego il codice del CodeBehind![]()
codice:protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if((e.Row.RowState == DataControlRowState.Edit)|| (e.Row.RowState == (DataControlRowState.Alternate | DataControlRowState.Edit)) ) { //popola la dropddownlist DropDownList ddl1 = (DropDownList)e.Row.FindControl("DropDownList1"); //items predefinite di questo menu a tendina ddl1.Items.Add("foo"); ddl1.Items.Add("bar"); ddl1.Items.Add("pippo"); ddl1.Items.Add("pluto"); } } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { //indice della riga editata int index = GridView1.EditIndex; //ottieni la riga editata della GridView GridViewRow row = GridView1.Rows[index]; //ottieni i controlli che contengono i valori aggiornati DropDownList ddl1 = (DropDownList)row.Cells[4].FindControl("DropDownList1"); //Aggiungi i valori aggiornati al dizionario NewValues e.NewValues["categoria"] = ddl1.SelectedValue; }

Rispondi quotando

