Rendre invisibile [Résolu]

Signaler
Messages postés
49
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
27 novembre 2007
-
Messages postés
49
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
27 novembre 2007
-
Bonjour à tous.
Je travail sur un grand tableau (environs 25 000 Cellules) Et je souhaiterais savoir, si il est possible de rendre invisible certaines cellules de ce tableau en fonction d'une partie seulement de l'id de cellule. Je m'explique :
Chacune de mes cellule est identifiée par un ID comprennant le matricule de l'employé, la semaine de l'année ainsi que le jour précis. Mon tableau est décomposé en semaines, c'est à dire qu'a la fin de chaque semaine une colone comprennant un somme de valeure saisie durant la semaine est placée et mon désir serait de rendre invisible, en un click, toutes les cases comportant le numero de la semaine. parce que j'ai fais une petite fonction pour rendre invisible, qui tourne bien, mais qui est très longue à l'exécution. Donc ma question est : en envoyant seulement le numero de la semaine, est-il possible de rendre invisible toutes les cellules comportant le numero de la semaine?
Si ce n'est pas possible je garderais ma fonction. Merci d'avance.

Cordialement, Lyche

5 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
à la base un problème de conception ?

>>365colones pour les jours, + 52 pour les
semaines, + 12 pour les mois pour chaque employé
>>cela fait un tableau
assez lourd pour la page
    ben oui.

>>je voudrais pouvoir alléger l'affichage en cliquant sur la colone total

>>pour faire disparaitre la semaine à laquelle elle correspond
    trop tard... c'est affiché, rendre invisible ne changera, je
        pense, on peut dire, rien.

>>sur ce super tableau bien pénible et bouffeur de ressources.
    normal.

>>Si tu penses que c'est pas faisable, ne te casse pas la tête,
>>voudrais améliorer un peu ce code qui me parait bien long
à l'exécution.
    à mon humble avis : c'est un problème de conception, pas de code
    ( je pense  que ) si le code  est mal ou bien foutu, ça ne devrait pas
        changer grand chose... mais
faut être prudent car on ne le voit pas ce code ! 
        par exemple utiliser innerText et/ou appendChild à la place de innerHTML
        améliore grandement.







<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,

    foultitude de questions....

    on est bien en JavaScript ?   et le tableau est alimenté avec PHP ?
        ou comment ?     macro Excel ?  XML ? ActiveX ? ...

    >> j'ai fais une petite fonction pour rendre invisible, qui tourne bien,
    >>mais qui est très longue à l'exécution
       tu dois regarder les ID de chaque cellule ?
       pas sûr qu'on puisse améliorer.... sans voir.

    >>d'ailleurs, cellules pour la semaine, une ligne une colonne ?
       ce serait bien d'avoir la structure de ce tableau
      
    pourquoi au chargement de ce tableau ( on ne sait pas comment ), s'il existe un
       cumul pour la semaine,  "alimenter" les jours ?
   

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
49
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
27 novembre 2007

Hum, en effet, en ce qui concerne le tableau, il est généré en vb.net, céllule par céllule, il s'agit en faite d'un tableau d'annualisation des congés pour les magasins de mon entreprise (pas de pub ;) ). Donc il se compose d'un entête qui comprend les 52semaines, d'un ligne comportant chaque jour et chaque fin de semaine est une colone qui contient le total d'affectation des journées de chaque employé. Enfin, chaque ligne représente un employé, jour par jour. Malheureusement, générer 365colones pour les jours, + 52 pour les semaines, + 12 pour les mois pour chaque employé cela fait un tableau assez lourd pour la page, sans compter tous les codes javascripts qui s'ajoutent au mic-mac, Je voudrais pouvoir alléger l'affichage en cliquant sur la colone total pour faire disparaitre la semaine à laquelle elle correspond, parce que c'est vraiment très lourd.

Pour la fonction que j'ia faite, oui, je fais une boucle sur le nombre de jour de la semaine qui me fait regarder chaque céllule, ce qui rend l'activation assez longue. Pour un exemple de 23employés il y a 7*23 + 3 + 1 = 165 cellule à rendre invisible en balayage cellule par céllule. Sachant que la page est déjà lourde, le temps d'application de la fonction est, je trouve, très long avec prèsque 15secondes pour rendre tout invisible.

Les jours sont alimentés par la base de données. Il y a une textbox comportant les modulations d'horaires des jours, à savoir que certains jours un employés peut faire 3heures de plus qui seront rattrapés plus tard (annualisation du temps de travail). Bref, ce tableau est assez long à charger. C'est pas que 15secondes me gènent, mais sachant que les directeurs des magasins vont devoir se taper 20 000 céllules à remplir, je voudrais bien leur permettre de pas perdre trop de temps à rendre invisible des semaines parce que c'est vraiment long et chiant cette annualisation des congés.
Heu, je vois pas quoi te dire de plus sur ce super tableau bien pénible et bouffeur de ressources. Pour indication certe pas très utile, la page générée en html, sans aucune donnée fait 4Mo en fichier texte... Voilà, si tu veux plus re renseignements je te répondrais :).
Si tu penses que c'est pas faisable, ne te casse pas la tête, c'est juste que je voudrais améliorer un peu ce code qui me parait bien long à l'exécution. si je pouvais balayer colone par colone en fonction du jour, sans utiliser le matricule, voir, utiliser la semaine pour selectionner qu'a partir de ça.

Ha si, une chose me vient en tête : les identifants de chaque céllules sont inscrit comme ceci "matricule_date_semaine" avec pour petit exemple "000008_01062007_222007" il y a une redondance des infos tels que la date parce que j'en ai besoin pour d'autres applications dans la page.. j'aurais bien fait plus court mais c'est impossible.

Cordialement, Lyche
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
>>C'est pas que 15secondes me gènent,
    toi non... mais les utilisateurs vont rejeter, c'est insupportable.


<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
49
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
27 novembre 2007

Merci pour vos réponses, je pense que je vais voir pour alléger ma page, ce n'est pas trop moi qui commande sur ce projet, et je n'ai fais que ce qu'on m'a demandé, Je pense pas que je puisse faire bien mieux, le tableau et gros et lourd, c'est obligatoire, je vais tenter d'améliorer en réduisant certaines lignes de code, mais j'y crois très peu. Merci encore pour vos réponses.

Bonne journée.