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 :

Total d'une colonne d'un tableau dynamique


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 116
    Par défaut Total d'une colonne d'un tableau dynamique
    Bonjour, à tous ! j'ai mis l'autre post resolu pour eviter le trolling et puisque c'est un peu différent
    C'est à propos du total de ma derniere colonne (resultat) désormais je peux supprimer les lignes que je veux mais lorsque je supprime une ligne BAM problème puisque comme je parcours toutes mes lignes de resultat il devient fou ( ...enfin il affiche que la ligne supprimé est "null" normal en fait puisque l'id a été supprimé !)
    donc j'essaye de résoudre le problème mais je sais pas comment


    voila mon code total :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function total()
    {
     var monTotal = 0;
     var i=1;
     
    for(var i=1; i<=compteur; i++){
    monTotal += parseInt(document.getElementById('result_'+i).innerHTML,10);
     
     
    document.getElementById("total").innerHTML = monTotal;
     
    }


    et voila la colonne de resultat de mon tableau dynamique auquel je peux rajouter une ligne par clic
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       newCell.appendChild(input5);
    	 newCell = newRow.insertCell(5);
     
        newCell.innerHTML = ' <span id="result_'+compteur+'"></span>';
    il s'agit d'un span d'identifiant result+ compteur (qui s'incremente a chaque fois que j'appelle la méthode ajout ligne)


    voila à quoi j'avais penser : tester si c'est null ou pas pour faire l'ajout au total mais sa boucle à l'infinie
    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
    function total()
    {
     var monTotal = 0;
     var i=1;
     
     
    while (i<=compteur)
    {
     
    if (document.getElementById('result_'+i).innerHTML)!=null)
    {
    monTotal += parseInt(document.getElementById('result_'+i).innerHTML,10);
    }
     
    i++;
    }
     
     
     
    document.getElementById("total").innerHTML = monTotal;
     
    }
    pour info voici ma fct suppression()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function suppression(id)
    {
     
     
    Thetable = document.getElementById("table");
    Thetr = document.getElementById(id);
     Thetable.deleteRow(Thetr.rowIndex);
     total();
     }

    j'ai pas mis compteur--; pce sinon si je supprime un ligne au milieu et pas la derniere sa me supprimerai le dernier ID => drame dans la base

    merci de votre aide !

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 116
    Par défaut
    bon ben après 3 heure voila ce que j'ai fais en fait quand je supprime une colonne maintenant sa m'actualise bien le total correctement mais après dés que j'ajoute ou supprime une ligne le total reste figé plus rien :

    voila la nouvelle méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function totale(lig)
    {
     monTotal=0;
     
    for(var i=1; i<lig; i++){
     monTotal += parseInt(document.getElementById('result_'+i).innerHTML,10);
     }
    for(var j=lig+1; j<=compteur; j++){
    monTotal += parseInt(document.getElementById('result_'+j).innerHTML,10);
     
     
    }
    document.getElementById("total").innerHTML = monTotal;
    }
    que je me sers dés que je supprime une ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function suppression(id)
    {
     
     
    Thetable = document.getElementById("table");
    Thetr = document.getElementById(id);
    var ligne=(Thetr.rowIndex)
     Thetable.deleteRow(Thetr.rowIndex);
     totale(ligne);
     }


    sinon le total dans les autres cas est calculé :

    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
     
    addRow()
    compteur++;
    (...)
    var input5=document.createElement('input');
    input5.type = 'text';
    input5.name ="remise_"+compteur;
    input5.id="remis_"+compteur;
    input5.ref = compteur;
    input5.onkeyup = function(){
        check(this.ref);
    		total();
    	}	
    input5.onchange=function(){
     
    total();
    }

    par la méthode classique total()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function total()
    {
    monTotal=0;
     
    for(var i=1; i<=compteur; i++){
    monTotal += parseInt(document.getElementById('result_'+i).innerHTML,10);
     
     
    }
     
    document.getElementById("total").innerHTML = monTotal;
     
    }
    et voila si quelqu'un à une idée je lui en serait reconnaissant
    Merci

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 116
    Par défaut
    Je croix avoir compris le problème mais j'en suis pas sur
    En fait dans la fonction classique total() sa detecte pas les lignes qui ont été supprimé du coup sa parcrous tout y compris les lignes supprimés c'est peut etre pour sa que sa varie pas
    Pareil pour quand j'essaye de supprimer une dexieme ligne sa detecte pas la premiere qui a été supprimé !
    Comment je peux faire pour sauvergarder l'ensemble des lignes qui on été supprimé pour eviter des les parcourir ?

    Ou alors comment je peux faire pour en fait depiler le compteur ? c'est à dire que quand je supprime le ligne 2 la ligne 3 prenne l'ID 2

    Parce que voila ce qui se passe (enfin je pense) :

    AddRow() Suppression(2)
    1--------- =>------- 1
    2 -------- => ------- 3
    3

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 116
    Par défaut
    au bout de 5 heure de recherche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (document.getElementById('result_'+i) != null)

    nice

  5. #5
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    Vérifie s'il existe avant de faire des calculs
    if (document.getElementById('result_'+i)){
    }

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

Discussions similaires

  1. [Tableaux] Total d'une colonne dans un tableau
    Par carmen256 dans le forum Langage
    Réponses: 4
    Dernier message: 25/03/2007, 12h42
  2. [HTML] Pb pour inserer une colonne dans un tableau
    Par cchampion2fr dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/11/2006, 11h41
  3. [CR11] Ajouter une colonne a un Tableau croisé
    Par tatayoyo dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 20/08/2006, 18h03
  4. total d'une colonne de DBGrid
    Par kalou26 dans le forum C++Builder
    Réponses: 1
    Dernier message: 04/07/2006, 18h56
  5. [vb/excel] suppression d'une colonne d'un tableau
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/10/2005, 10h17

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