|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jul 2005
Messaggi: 26
|
[ASP.NET]impostare un selectedValue in un menu a tendina dentro una GridView:come fò?
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;
}
|
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Nov 2007
Città: Bologna
Messaggi: 242
|
...non ho mica capito
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Jul 2005
Messaggi: 26
|
Hai ragione
Quando visualizzo la gridview, la voce visualizzata è "pippo" ![]() Se premo il bottone "Modifica", la prima voce del menu a tendina è "foo", anzichè "pippo" ![]() Nel code behind dovrei fare qualcosa tipo: miaItem.selectedValue = "vecchiaItem" ma non so come fare a livello di codice! Ultima modifica di Brad13 : 11-11-2009 alle 15:37. |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Nov 2007
Città: Bologna
Messaggi: 242
|
....un controllo forse stupido (perchè non so se funziona eheh).....ma....
quando clicchi modifica non può fare una cosa del tipo miaItem.Items.FindByValue("Pippo").Selected = true; ...al posto di Pippo il CampoCategoria ..... ...questo mi funziona in una ListBox però....mi seleziona il campo che gli passo nel find... nell'evento del pulsante Modifica prendi il valore CampoCategoria e lo passa in miaItem.Items.FindByValue(CampoCategoria).Selected = true; Ultima modifica di ramones1985 : 11-11-2009 alle 15:55. |
|
|
|
|
|
#5 | |
|
Junior Member
Iscritto dal: Jul 2005
Messaggi: 26
|
Quote:
|
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Nov 2007
Città: Bologna
Messaggi: 242
|
De Nada!
ps: non sai quanti cristi avevo tirato per capire come fare una cosa simile!! poi avevo trovato quel metodo, e quando ho capito qual'era il tuo problema ho riaperto il progetto per cui lo avevo fatto!!! Ultima modifica di ramones1985 : 11-11-2009 alle 16:55. |
|
|
|
|
|
#7 | |
|
Junior Member
Iscritto dal: Jul 2005
Messaggi: 26
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:00.






















