OVH Cloud OVH Cloud

Gérer un évenement sur une colonne modéle d'un datagrid

1 réponse
Avatar
Geget
Bonjour,

J'ai crée un datagrid.
Ce datagrid est composé d'une colonne modéle qui en édition m'affiche une
dropdownlist.

Je voudrais en mode édition, gérer l'évenement "SelectedIndexChanged "
sur cette dropdownlist.

Comment faut il déclarer cette évenement ?

Merci d'avance pour vos réponses.

Je suis vraiment coincé ...

1 réponse

Avatar
olivier vidal
En utilisant éventuellement un champs caché et un script côté client

private void DataGrid_ItemDataBound(object sender,
System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.EditItem)
{
DropDownList ddl = (DropDownList)e.Item.FindControl("MyDropDown");
string script = @"<script language=jscript>
function MyDropDown_onchange()
{{
Form1.__DropDownSelectedValueChanged.value =
document.all[""{0}""].value;
__doPostBack('__DropDownSelectedValueChanged', '');
}}
document.all[""{0}""].onchange = MyDropDown_onchange;
</script>";
script = string.Format(script, ddl.UniqueID);
ViewState["DropDownScript"] = script;
RegisterStartupScript("dropdown", script);
}
}

private void __DropDownSelectedValueChanged_ServerChange(object sender,
System.EventArgs e)
{
Trace.Warn(string.Format("effectuer un traitement pour '{0}'.",
__DropDownSelectedValueChanged.Value));
RegisterStartupScript("dropdown", (string)ViewState["DropDownScript"]);
__DropDownSelectedValueChanged.Value = string.Empty;
}

"Geget" a écrit dans le message de news:

Bonjour,

J'ai crée un datagrid.
Ce datagrid est composé d'une colonne modéle qui en édition m'affiche une
dropdownlist.

Je voudrais en mode édition, gérer l'évenement "SelectedIndexChanged "
sur cette dropdownlist.

Comment faut il déclarer cette évenement ?

Merci d'avance pour vos réponses.

Je suis vraiment coincé ...