Bonjour à tous,
Dans ma page j'ai un bouton ÉDITER, ensuite j'ai une un GridView et par la suite un ModalPopupExtender.
Le principe est simple, l'utilisateur clique sur le row de son choix, ensuite il clique sur le bouton ÉDITER en haut ce qui à pour effet d'ouvrir le PopUpExtender.
Lorsque l'utilisateur clique sur le row désiré, je retiens le ID de ce row dans une variable javascript se nommand ligneSelID et je change la couleur de fond.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 modalPopup.Show();
Côté serveurCôté client
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 protected void gdvPoids_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("onclick", "javascript:SelectionnerLigne('" + e.Row.Attributes.Add("onclick", "javascript:SelectionnerLigne(this," + pID + ");"); + "');"); } }Voilà où est le problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var ligneSelID; function SelectionnerLigne( ligneID ) { var obj = $get( ligneID ); obj.style.backgroundColor = ... ligneSelID = ligne; }
Lorsque le PopUp s'ouvre, la ligne perd sont backgroundColor... Bizarre non ? De plus, j'ai un bouton Annuler qui lui ne fait que fermer le PopPup alors je me suis dit qu'il me fallait re-sélectionner la ligne à l'aide de ma variable LigneSelID qui contient le ID de la ligne sélectionné.
Mais lorsque je fais un $get(ligneSelID) ou document.GetElementByID(ligneSelID), ça me retourne undefined/NULL ! Pourtant la ligne est belle et bien encore visible dans ma grille...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ScriptManager.RegisterStartupScript( "Test", "var s = $get(ligneSelID)..." );
Est-ce que j'ai louppé quelque chose ?
PS : Tous ces composants sont dans un UpdatePanel.
Partager