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.

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'");
            }
        }
Ca fonctionne
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

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);
}
Merci pour votre aide.