GridView checkbox [Résolu]

Messages postés
19
Date d'inscription
jeudi 19 avril 2012
Dernière intervention
27 mai 2012
- - Dernière réponse : cs_Megafan
Messages postés
390
Date d'inscription
dimanche 7 avril 2002
Dernière intervention
23 septembre 2016
- 28 mai 2012 à 19:52
bonjour,
j'ai une gridVeiw qui contient un chkcbox Header ajouté par l'intermédiaire d'ItemTemplate.
j'ai créée une fonction côté client qui permet de selectionner tous les checkbox
lors du click sur le checkbox header elle fonctionne parfaitement tandis qu'on décochant rien ne se passe
avez-vous des suggestions??
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
390
Date d'inscription
dimanche 7 avril 2002
Dernière intervention
23 septembre 2016
3
Merci
Ta première fonction est bonne, il faut simplement vérifier que tu ne modifie pas le header (via son nom par exemple). pour le décocher, il suffit de déclarer un var en dehors de ta fonction puis faire un != dedans afin d'inverser le booleen.

dans l'exemple si dessus, ton checckbox header à un id='NomCheckHeader'


var action= true;

        function SelectAllCheckBoxes() {        
            var champs = document.getElementsByTagName("input");        
            for (var i = 0; i < champs.length; i++) {
                if (champs[i].type.toLowerCase() == "checkbox") {
                    var chk=champs[i].id;
                    if (chk!= "NomCheckHeader") {
                        var Obj = document.getElementById(chk);
                        Obj.checked = action;         
                    }
                
                }
            }
            action= !action;
        }




Megafan

Développeur de http://www.o10c.eu (Lien)


La nouvelle référence en matière de jeu de stratégie spatiale.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de cs_Megafan
Messages postés
249
Date d'inscription
samedi 13 octobre 2007
Dernière intervention
2 mai 2014
0
Merci
poste ton code.

Les fins justifient les moyens_________________________________________________
Yassine BENNANI - Ingénieur en génie logiciel & multimédia (Consultant SI)
Commenter la réponse de yassinebennani
Messages postés
19
Date d'inscription
jeudi 19 avril 2012
Dernière intervention
27 mai 2012
0
Merci
 function SelectAllCheckBoxes(action)
{
var myform=document.forms["form1"];
var len = myform.elements.length;
   for( var i=0 ; i < len ; i++)
   {
   if (myform.elements[i].type == 'checkbox')
      myform.elements[i].checked = action;
   }
}
Commenter la réponse de invent001
Messages postés
390
Date d'inscription
dimanche 7 avril 2002
Dernière intervention
23 septembre 2016
0
Merci
A priori ton action ne doit pas être 'false'

Par contre curoisite de ton code, ton checkbox header coté client est aussi une checkbox, et donc doit lui même être impacté par ta fonction SelectAllCheckBoxes, car ta boucle parcourt tous les éléments checkbox de ta form...



Megafan

Développeur de http://www.o10c.eu (Lien)


La nouvelle référence en matière de jeu de stratégie spatiale.
Commenter la réponse de cs_Megafan
Messages postés
19
Date d'inscription
jeudi 19 avril 2012
Dernière intervention
27 mai 2012
0
Merci
effectivement megafan

mais le problème qui me concerne c lors du décochement parcq en appelant la fonction je mets l'action à true c pour ça qui rien ne se passe quand je déselectionne le checkbox en tête

une solution svp?
Commenter la réponse de invent001
Messages postés
19
Date d'inscription
jeudi 19 avril 2012
Dernière intervention
27 mai 2012
0
Merci
en cherchant dans le net j'ai trouvé une autre fonction et ça fonctionne parfaitment,mais vu que je connais peu sur javascript je ne l'ai bien compris;
function SelectAllCheckboxes(spanChk){
   var oItem = spanChk.children;
   var b= (spanChk.type=="checkbox") ? 
        spanChk : spanChk.children.item[0];
   xState=b.checked;
   elm=b.form.elements;

   for(i=0;i<elm.length;i++)
     if(elm[i].type=="checkbox" && elm[i].id!=b.id)
     {
       if(elm[i].checked!=xState)
         elm[i].click();
      }
 }


que qqn m'explique svp?
Commenter la réponse de invent001
Messages postés
19
Date d'inscription
jeudi 19 avril 2012
Dernière intervention
27 mai 2012
0
Merci
ça marché merci
Commenter la réponse de invent001
Messages postés
19
Date d'inscription
jeudi 19 avril 2012
Dernière intervention
27 mai 2012
0
Merci
autre chose comment les laissés cocher dans le postback de la page,car j'ai un dropdowlist qui affiche le nombre d'enregistrement lorsque je clique dessus les checkbox se retrouve en état de décochment, je voudrais qu'ils soient cochés même lors changement de records


merci d'avance
Commenter la réponse de invent001
Messages postés
390
Date d'inscription
dimanche 7 avril 2002
Dernière intervention
23 septembre 2016
0
Merci
il faut créer et initialiser ta variable action au chargement de ta page via un clientscript.registerstartupscript dans le code coté serveur.

genre en vb.net :

ClientScript.RegisterStartupScript(Me.GetType(), "init", "<script language = 'javascript'>action='true';</script>")




Megafan

Développeur de http://www.o10c.eu (Lien)


La nouvelle référence en matière de jeu de stratégie spatiale.
Commenter la réponse de cs_Megafan

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.