IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Gridview checkbox onclick


Sujet :

ASP.NET

  1. #1
    Rédacteur
    Avatar de Erakis
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 523
    Points : 233
    Points
    233
    Par défaut Gridview checkbox onclick
    Bonjour,

    J'ai un Gridview avec 4 colonnes, dont la première contient un checkbox.

    Je voulais que lorsqu'on clique sur la ligne entière, que le checkbox change d'état.

    Donc, voilà ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    protected void grdv_RowDataBound(object sender, GridViewRowEventArgs e)
    {
       if (e.Row.RowType == DataControlRowType.DataRow)
       {
            CheckBox ckb = (CheckBox)e.Row.FindControl("ckb");
            e.Row.Attributes.Add("onclick", string.Format("var ckb = $get('{0}'); ckb.checked = !ckb.checked;", ckb.ClientID));
        }
    }
    Voilà que cela fonctionne très bien. Toutefois, lorsque je clique directement sur le checkbox, il ne fonctionne plus.

    Est-ce à cause de la propagation de l'événement au row et ensuite au checkbox ? Là, je dois avouer que je ne comprend vraiment pas pourquoi cela ne fonctionne pas. J'espère que vous pourrai m'aider sur cella là

    Merci
    Mieux vaut ne rien savoir que beaucoup savoir à moitié !
    Faite vous en pas avec la vie, personne en est sortie vivant !

  2. #2
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2010
    Messages : 62
    Points : 111
    Points
    111
    Par défaut
    Bonjour,

    il faut passer la colonne avec checkbox en read only, cela devrait te permettre de vérifier si le problème viens d'un double traitement sur la cellule. Il y a de grande chance que ce soit ça.

  3. #3
    Rédacteur
    Avatar de Erakis
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 523
    Points : 233
    Points
    233
    Par défaut
    Bonjour,

    J'ai essayé la première alternative :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ckb.Attributes.Add("readonly", "readonly");
    Mais cela incorpore le checkbox dans un span de façon automatique dans le résultat html.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <span readonly="readonly">
        <input type="checkbox" ...>
    </span>
    Donc, j'ai trouvé ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ckb.InputAttributes.Add("readonly", "readonly");
    Maintenant, le tag readonly est bien appliqué au checkbox, mais cela ne règle pas plus mon problème initial.

    J'ai aussi essayé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    e.Row.Attributes.Add("onclick", string.Format("$get('{0}').click();", ckb.ClientID));
    Cela ne fonctionne pas plus.

    Ce serait assez incroyable que je soit le premier à avoir ce problème ?

    Avez-vous d'autres idées ?
    Mieux vaut ne rien savoir que beaucoup savoir à moitié !
    Faite vous en pas avec la vie, personne en est sortie vivant !

  4. #4
    Rédacteur
    Avatar de Erakis
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 523
    Points : 233
    Points
    233
    Par défaut
    J'ai essayé autre chose et voilà ça fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    e.Row.Attributes.Add("onclick", string.Format("if (event.target.type !== 'checkbox') {{ $get('{0}').click(); }}", ckb.ClientID));
    Je ne suis pas un professionnel du javascript et de la librairie Microsoft Ajax client, mais est-ce que le fait d'utilisé "event.target" sera bien supporté sur la plupart des browsers ?

    N'y a-t-il pas un moyen de récupérer l'élément cliqué avec la souris avec la librarie Ajax client ? J'ai regardé du côté de Sys.UI et Sys.Dom, mais je n'ai rien vu.
    Mieux vaut ne rien savoir que beaucoup savoir à moitié !
    Faite vous en pas avec la vie, personne en est sortie vivant !

Discussions similaires

  1. GridView + CheckBox
    Par museman dans le forum ASP.NET
    Réponses: 5
    Dernier message: 06/04/2010, 09h37
  2. Gridview, checkbox et button
    Par achrafiac dans le forum ASP.NET
    Réponses: 13
    Dernier message: 12/03/2010, 17h32
  3. GridView : checkbox ne se cochent pas !
    Par maynoush dans le forum ASP.NET
    Réponses: 0
    Dernier message: 04/02/2009, 12h10
  4. CheckBox - Onclick/UnOnclick
    Par Lokotamani dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 08/06/2008, 17h23
  5. gridview+checkbox+sélectionner 1 checkbox
    Par tortuegenie dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/03/2008, 08h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo