GridView checkbox [Résolu]

invent001 19 Messages postés jeudi 19 avril 2012Date d'inscription 27 mai 2012 Dernière intervention - 26 mai 2012 à 13:34 - Dernière réponse : cs_Megafan 390 Messages postés dimanche 7 avril 2002Date d'inscription 23 septembre 2016 Dernière intervention
- 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
cs_Megafan 390 Messages postés dimanche 7 avril 2002Date d'inscription 23 septembre 2016 Dernière intervention - 27 mai 2012 à 17:38
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.

Merci cs_Megafan 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de cs_Megafan
yassinebennani 249 Messages postés samedi 13 octobre 2007Date d'inscription 2 mai 2014 Dernière intervention - 27 mai 2012 à 01:22
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
invent001 19 Messages postés jeudi 19 avril 2012Date d'inscription 27 mai 2012 Dernière intervention - 27 mai 2012 à 10:19
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
cs_Megafan 390 Messages postés dimanche 7 avril 2002Date d'inscription 23 septembre 2016 Dernière intervention - 27 mai 2012 à 10:49
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
invent001 19 Messages postés jeudi 19 avril 2012Date d'inscription 27 mai 2012 Dernière intervention - 27 mai 2012 à 11:01
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
invent001 19 Messages postés jeudi 19 avril 2012Date d'inscription 27 mai 2012 Dernière intervention - 27 mai 2012 à 12:43
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
invent001 19 Messages postés jeudi 19 avril 2012Date d'inscription 27 mai 2012 Dernière intervention - 27 mai 2012 à 17:49
0
Merci
ça marché merci
Commenter la réponse de invent001
invent001 19 Messages postés jeudi 19 avril 2012Date d'inscription 27 mai 2012 Dernière intervention - 27 mai 2012 à 17:58
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
cs_Megafan 390 Messages postés dimanche 7 avril 2002Date d'inscription 23 septembre 2016 Dernière intervention - 28 mai 2012 à 19:52
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.