Ciao a tutti! Sono un principiante assoluto di ASP.NET ed è il mio primo post
Vi spiego il mi problema:
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
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;
}