L'accesso DropDownList in EditItemTemplate all'interno di GridView su GridView RowEditing
-
26-10-2019 - |
Domanda
Ho inserito un DropDownList in un'EditItemTemplate all'interno di una GridView e mi piacerebbe riempire questo DropDownList con elementi in base a un valore in un'altra GridView-Colonna sulla stessa riga.
Lasciate che vi faccia un esempio:
Se gli sguardi delle righe come questo:
Itemname, string, TextBox, (editbutton)
Voglio il clic su EditButton per trasformare la stringa "TextBox" in una DropDownList con le opzioni "TextBox" o "DropDownList", ma se l'aspetto delle righe come questo:
Itemname, bool, CheckBox, (editbutton)
Voglio la discesa per unica caratteristica "casella di controllo" e "RadioButton".
Quindi, logicamente, ho bisogno di accesso a) la colonna che contiene il valore del tipo di dati di campo (stringa o bool) e b) l'accesso a discesa-List di modificare i propri articoli all'interno del GridView_RowEditing-evento.
I già riuscito a fare a), qualcuno può aiutarmi in b)?
Il mio codice attualmente appare così:
protected void gridVariables_RowEditing(object sender, GridViewEditEventArgs e)
{
switch (gridVariables.Rows[e.NewEditIndex].Cells[2].Text)
{
case "string":
case "double":
case "long":
break;
case "bool":
break;
default:
break;
}
gridVariables.EditIndex = e.NewEditIndex;
gridVariables_DataBind();
}
Grazie,
Dennis
Soluzione
Dal momento che non è stato pubblicare il codice GridView mi limiterò a fare questo in pseudo codice
In your rowdatabound Event handler
Check if the row is the edit row
ddl.Items.Clear()
if (dataitem is textbox or ddl)
ddl.items.add("textBox");
ddl.items.add("DDL");
else
ddl.items.add("CB");
ddl.items.add("RB");