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

JavaScript Discussion :

GridViewRow visible / invisible


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Points : 478
    Points
    478
    Par défaut GridViewRow visible / invisible
    Bonjour tout le monde,

    Je m'arrache les cheveux depuis 2 bonnes heures et là je ne comprends pas bien ce qu'il se passe...

    J'ai 2 gridView. La première possède une colonne de checkBox et lorsqu'elle est (dé)coché je veux rendre (in)visibles certaines lignes de la seconde.

    Le cochage se fait lui aussi en javascript et il fonctionne très bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        function Select(rowIndex) {
            var grid = document.getElementById("<%= gvBatches.ClientID %>");
            var cell;
            if (grid.rows.length > 0) {
                cell = grid.rows[rowIndex].cells[0];
                //Find the checkbox
                for (j = 0; j < cell.childNodes.length; j++) {
                    if (cell.childNodes[j].type == "checkbox") {
                        cell.childNodes[j].checked = !cell.childNodes[j].checked;
                    }
                }
            }
        }
    Alors que le reste ne fonctionne pas du tout :

    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
        function DisplayRow(BatchNumber, batchSelected) {
            var grid = document.getElementById("<%= gvProductsPerBatches.ClientID %>");
            var batchChecked = document.getElementById("<%= gvBatches.ClientID %>").rows[batchSelected].cells[0];
            var cell;
            if (grid.rows.length > 0) {
                for (i = 1; i < grid.rows.length; i++) {
                    cell = grid.rows[i].cells[1];
                    for (j = 0; j < cell.childNodes.length; j++) {
                        if (cell.childNodes[j].type == "label" && cell.childNodes[j].innerText == BatchNumber) {
                            for (k = 0; k < batchChecked.childNodes.length; k++) {
                                if (batchChecked.childNodes[k].type == "checkbox") {
                                    grid.rows[i].style.display = batchChecked.childNodes[k].checked ? 'block' : 'none';
                                }                            
                            }                        
                        }
                    }
                }
            }
        }
    Pour déclencher les fonctions ça se passe au dataBind de la première grille (row étant la ligne en train de se charger bien sûr) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    row.Attributes.Add("onclick", "Select(" + (row.RowIndex + 1) + ");DisplayRow(" + batch.BatchNumber + "," + (row.RowIndex + 1) + ");");
    Une idée de WTF il peut bien se passer ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Points : 478
    Points
    478
    Par défaut
    Personne ne voit d'où vient le problème ?

    Question subsidiaire : Peut on insérer une variable dans une balise de code ? Je ne sais pas si je suis très clair donc un exemple sera peut être plus causant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (i = 0; i < cell.childNodes.length; i++) {
        var label = document.getElementById('<%= gvProductsPerBatches.Rows[i].FindControl("BatchNumberProduc").ClientID %>');
    }

Discussions similaires

  1. visible invisible
    Par Renardo dans le forum Access
    Réponses: 1
    Dernier message: 02/05/2006, 20h35
  2. Visible invisible accessible ou innacessible
    Par angelevil dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/03/2006, 17h02
  3. Rendre visible / invisible plusieurs éléments en même temps
    Par Bluespike62 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/01/2006, 17h43
  4. [FLASH 8] Rendre visible/invisible un bouton sur un clic
    Par PrinceMaster77 dans le forum Flash
    Réponses: 11
    Dernier message: 10/01/2006, 15h08
  5. Réponses: 2
    Dernier message: 06/05/2005, 21h45

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