je suis actuellement en stage de dernière année, je dois réaliser un intranet pour une société en ASP.NET.
Actuellement je bloque sur un "gridview".
En fait, dans ma gridview, j'ai deux dropdownlist remplies manuellement,
l'une contient des pourcentages allant de 0 à 100% et
l'autre contient des status (En cours, terminé, A faire)
J'aimerai pouvoir lier ces deux dropdown afin que lorsque l'utilisateur sélectionne par exemple "0%" l'autre dropdownlist affiche "A faire" et inversément.
Whismeril
Messages postés19025Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention19 avril 2024656 7 mars 2013 à 10:52
Bonjour, je ne fais d'ASP, mais en winform je créerais une classe avec une priopriété pourecentage (int) et une propriété statut (enum).
Avec le get de l'un tu géres la valeur de l'autre, un peu de binding (il me semble que c'est le point fort du wpf) et voilou
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 7 mars 2013 à 20:26
Salut,
le problème du gridView est que les lignes bindées sont dynamiques,
il faut donc gérer cela en dynamique aussi.
Faire un évènement grid_dataBound OU grid_rowCteated, cela revient presque au même, puis créer le onchange coté client "javascript" pour chaque combos pourcentage de chaque lignes
ATTENTION : pseudo code ci-dessous (non testé)
private void grid_dataBound(object sender, GridViewEventArg e)
{
if( e.RowType == RowType.Data )
{
DropDownList ddlPercent = e.Row.FindControl("idDDList1") as DropDownList;
DropDownList ddlStatut = e.Row.FindControl("idDDList2") as DropDownList;
ddlPercent.Attributes.Add("onchange", "javascript:MyOnChange(\'"+ddlPercent.ClientID+"\', \'"+ddlStatut.ClientID+"\');");
}
}
// et coté aspx
<script>
function MyOnChange(idDDLPercent, idDDLStatut)
{
// reste plus qu'a faire le traitement ici
if( document.getElementById(idDDLPercent).value == "0" )
//ECT...
}
</script>