Bonjour,
Afin de pouvoir séléctionner les lignes d'un gridView sans passer par un bouton ou lien, j'ai ajouté ce code dans lévènement RowDataBound du GridView.
Ca fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("onclick", this.GetPostBackClientEvent(GridView1, "Select$" + e.Row.RowIndex.ToString())); e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='SkyBlue';this.style.cursor='pointer'"); e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='White'"); } }
Après, dans l'évènement SelectedIndexChanged je recupère sans problème les valeurs de deux colonnes pour les transmettre à une méthode qui change l'état d'un d'enregistrement d'une table SQL.
J'ai donc voulue faire une demande de confirmation (type message box) pour l'utilisateur, afin d'éviter des erreurs éventuelles et c'est la ou je bloque.
J'arrive bien à afficher une demande de confirmation mais pas à récupérer le choix de l'utilisateur.
Voici le code
Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { //Obtient la ligne séléctionnée GridViewRow row = GridView1.SelectedRow; //stock le numero de compte du programme ds une var String NCompte = row.Cells[1].Text; //stock le nom du programme en var String nProgramme = row.Cells[0].Text; String tt = row.Cells[7].Text; String strMessage = "Etes vous sur de vouloir réactiver le suivi du programme " + nProgramme; //c'est la ou je testerai bien la valeur de retour // // ClientScript.RegisterStartupScript(this.GetType(), "javascript:return ", "<script>confirm('" + strMessage + "');</script>"); //modifi l'état du compte en appelant la classe TcontroleDAO TControleADO.ReactiveCompte(NCompte); }
Partager