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

VB.NET Discussion :

Checkboxes en VB : Comment tout cocher ?


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 121
    Points : 55
    Points
    55
    Par défaut Checkboxes en VB : Comment tout cocher ?
    Bonjour,

    Je recherche un moyen de cocher plusieurs checkbox d'un seul coup.

    J'ai un Datagrid avec une colonne de checkbox ainsi qu'une checkbox dans le titre de la colonne.

    Je souhaite faire en sorte que si je clique sur la checkbox dans le titre toutes les checkbox de la colonne se cochent.

    J'ai fait des recherches mais tout ce que je trouve fait appel au Javascript.

    Y a t-il un moyen de passer par le VB ?

    Voici le code de la colonne de mon Datagrid en question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <asp:TemplateColumn SortExpression="Generation" HeaderText="&nbsp&nbspEffectuer Génération&nbsp&nbsp">
    										<ItemStyle Wrap="False" HorizontalAlign="Center"></ItemStyle>
    										<headertemplate>
    											<asp:checkbox id="CheckAll" runat="server" text="Tout Sélectionner"></asp:checkbox>
    										</headertemplate>
    										<ItemTemplate>										
    											<asp:checkbox id="Check" runat="server" Align = "center">
    											</asp:checkbox>
    										</ItemTemplate>
    									</asp:TemplateColumn>

  2. #2
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Pas très difficile, tu fais une boucle pour cocher toute tes checkbox !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Private Sub cocher()
            For Each ctrl As Control In Me.Controls
                If TypeOf ctrl Is CheckBox Then
                    Dim c As CheckBox = CType(ctrl, CheckBox)
                    c.Checked = True
                End If
            Next
        End Sub
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  3. #3
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    Ok ta boucle m'aide déjà beaucoup.

    Par contre ce que je n'arrive pas à faire c'est définir le Handles On

    Voici ma fonction :

    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
    25
    26
    27
    28
    29
    30
    31
    Private Sub cocher(ByVal sender As Object, ByVal e As EventArgs) Handles CheckAll.CheckedChanged  ????
                Dim items As DataGridItem
                Dim items2 As DataGridItem
                Dim chkItem As System.Web.UI.WebControls.CheckBox
                Dim chkItem2 As System.Web.UI.WebControls.CheckBox
     
     
                For Each items In dgdListeFicheMensuelle.Items
                    chkItem = CType(items.FindControl("CheckAll"), System.Web.UI.WebControls.CheckBox)
     
                    If chkItem.Checked = True Then
                        For Each items2 In dgdListeFicheMensuelle.Items
                            chkItem2 = CType(items.FindControl("CheckAll"), System.Web.UI.WebControls.CheckBox)
                            chkItem2.Checked = True
     
                        Next items2
     
                    End If
     
                    If chkItem.Checked = False Then
                        For Each items2 In dgdListeFicheMensuelle.Items
                            chkItem2 = CType(items.FindControl("CheckAll"), System.Web.UI.WebControls.CheckBox)
                            chkItem2.Checked = True
     
                        Next items2
     
                    End If
     
                Next items
     
            End Sub
    En effet ma checkbox avec l'id "CheckAll" est dans l'entête de mon datagrid et donc quand je fais un handles on dessus et que je compile pas à pas je ne rentre jamais dans ma fonction cocher(). Comment faire ?

    Voici mon code du point de vue HTML:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <asp:TemplateColumn SortExpression="Generation" HeaderText="&nbsp&nbspEffectuer Génération&nbsp&nbsp">
    										<ItemStyle Wrap="False" HorizontalAlign="Center"></ItemStyle>
    										<headertemplate>
    											<asp:checkbox id="CheckAll" runat="server" text="Tout Sélectionner" AutoPostBack = "True"></asp:checkbox>
    										</headertemplate>
    										<ItemTemplate>										
    											<asp:checkbox id="Check" runat="server" Align = "center">
    											</asp:checkbox>
    										</ItemTemplate>
    									</asp:TemplateColumn>
    Merci d'avance.

  4. #4
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    Petite modif c'est des "check" et non pas des "checkall" dans les deux boucles

  5. #5
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Mais tu es en asp.net ? Si c'est le cas ce n'est pas le bon Forum !
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  6. #6
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    Ok mais je post où mon msg ?

    Car sur le forum ASP il faut soit disant poster dans le forum .NET pour tout ce qui concerne l'aspx.....

  7. #7
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    En tout cas mieux vaut passer par le Javascript


    Voici mon 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    function CheckAllDataGridCheckBoxes()
            {                   
    				//list des input dans un conteneur précis
    				var listInput = document.Form1.document.getElementById("dgdListeFicheMensuelle").getElementsByTagName("input");
    				var n = listInput.length;
    				var i;
     
     
                    if (document.getElementById('dgdListeFicheMensuelle__ctl1_CheckAll').checked == true)
                    {
    					//alert('ca passe');
     
    					for (i=0; i<n; i++)
    						{
    							//on ne garde que les checkbox
    							if (listInput[i].type.toLowerCase()=="checkbox")
    								{
    									//alert('ca passe');
    									listInput[i].checked = true;
     
    								}
    						}
     
                    }
     
                    if (document.getElementById('dgdListeFicheMensuelle__ctl1_CheckAll').checked == false)
                    {
    					//alert('ca passe');
     
    					for (i=0; i<n; i++)
    						{
    							//on ne garde que les checkbox
    							if (listInput[i].type.toLowerCase()=="checkbox")
    								{
    									//alert('ca passe');
    									listInput[i].checked = false;
     
    								}
    						}
     
                    }               
     
            }
     
            function DecocherCheckAll()
            {
    			//list des input dans un conteneur précis
     
    				var i;
    				var debut_id = "dgdListeFicheMensuelle__ctl";
    				var fin_id = "_Check";
    				var listInput = document.Form1.document.getElementById("dgdListeFicheMensuelle").getElementsByTagName("input");
    				var n = listInput.length;
     
    				for (i=1; i<n; i++)
    						{
    							//on ne garde que les checkbox
     
    									if (listInput[i].type.toLowerCase()=="checkbox")
    									{
    									if (listInput[i].checked == false)
    									document.getElementById('dgdListeFicheMensuelle__ctl1_CheckAll').checked = false;
    									}
     
     
    						}
     
     
            }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tout Cocher et tout décocher des checkbox
    Par Amokrane dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/08/2008, 14h33
  2. Réponses: 7
    Dernier message: 09/01/2008, 10h20
  3. tout cocher/tout décocher checkboxs
    Par Mo_Poly dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 07/11/2007, 21h39
  4. Cheklistbox, comment tout cocher par un simple click ?
    Par gsmdu62 dans le forum Composants VCL
    Réponses: 7
    Dernier message: 01/05/2006, 10h52
  5. [checkbox] Tout cocher/decocher
    Par thony23 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 16/11/2005, 11h31

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