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 et Checkbox : Fonction JS selectAll sur 2 userControls identiques


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 339
    Points : 586
    Points
    586
    Par défaut GridView et Checkbox : Fonction JS selectAll sur 2 userControls identiques
    Bonjour,

    J'ai un petit problème javascript vis à vis de l'interaction d'une fonction JS sur deux Usercontrols appelés dans la page.

    Mon UserControl est composé d'un RadGrid (composant télérik équivalent à un GridView), et celui-ci contient un itemTemplate avec un Checkbox sur chaque ligne. Il contient également un checkbox en header pour faire en sorte qu'une fois checké, celui-ci check toutes les checkboxes de la grid.

    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
     
    <telerik:RadGrid ID="gvMessageAccueil" runat="server" 
                        ShowStatusBar="true" 
                        AllowPaging="True" PageSize="20"  AutoGenerateColumns="false" >
            <mastertableview NoMasterRecordsText="Aucun accessoire." >    
                 <Columns>
     
                    <telerik:GridTemplateColumn ItemStyle-Width="1%"  AllowFiltering="False" UniqueName="colChkSelect">
                        <HeaderTemplate>
                            <asp:CheckBox ID="CheckBoxHeader" runat="server" OnClick="selectAll(this)" />
                        </HeaderTemplate>
     
                        <ItemTemplate>
                            <asp:CheckBox ID="CheckBox1" runat="server" />
                        </ItemTemplate>
     
                    </telerik:GridTemplateColumn>
                </Columns>
                </mastertableview>
        </telerik:RadGrid>
    Ceci rendu possible grâce à la fonction JS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            function selectAll(invoker) {
                var gridRef = document.getElementById('<%= gvMessageAccueil.ClientID %>');
                var inputElements = gridRef.getElementsByTagName('input');
                for (var i = 0; i < inputElements.length; i++) {
                    var myElement = inputElements[i];
                    if (myElement.type == "checkbox") {
                        myElement.checked = invoker.checked;
                    }
                }
            }
    Ceci fonctionne parfaitement tant que le UserControl n'est inclus qu'une fois dans la page.
    S'il est appelé deux fois, le header de la première grid check toutes les lignes de la deuxième grid, mais pas celui de son propre tableau...

    Comment dire à JS qu'il ne doit prendre que les éléments qui sont dans sa grid ?

    D'avance merci.

  2. #2
    Membre confirmé
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 339
    Points : 586
    Points
    586
    Par défaut
    J'ai trouvé la solution seule :
    Il faut passer à la fonction JS le nom de la grid côté code behind.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 29/07/2011, 00h25
  2. Réponses: 8
    Dernier message: 18/12/2008, 18h49
  3. PB pour Appel fonction dans DLL sur Builder3
    Par Fbartolo dans le forum C++Builder
    Réponses: 15
    Dernier message: 10/03/2005, 12h58
  4. Réponses: 10
    Dernier message: 03/02/2005, 13h09
  5. ma fonction marche plus sur le serveur...
    Par CDRIK dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/10/2004, 04h24

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