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

Mise en page CSS Discussion :

Tableau scrollable + Impression


Sujet :

Tableau en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Par défaut Tableau scrollable + Impression (pas résolu, mais plus besoin)
    Bonjour tout le monde.

    Alors mon problème est le suivant.

    J'ai un tableau, contenant 4 div, contenant eux également chacun 1 tableau.

    Ceci est fait dans le but de présenter les données de manières à obtenir la ou les premières colonnes fixes lors d'un scroll horizontal, et de grader la première ligne, qui contient le titre de chaque colonne, fixe également.

    Maintenant, afin de de redimensionner le tableau, j'utilise du javascript.
    (Si besoin est, je fournirais le code sur demande).

    Ayant présenté ce qui est réaliser jusqu'ici, le client m'a demandé (le maître de stage en fait), de voir si il était possible d'imprimer. N'étant pas une bête en développement, j'affirme que oui, lance un aperçu avant impression, et horreur, il n'imprime apparement que ce qui est visible à l'écran.

    J'ai donc commencer à mettre en place un CSS pour l'impression, en n'affichant pas le menu, plaçant les couleurs de manière correcte (fond blanc, texte noir, ...).
    J'ai agrandi un peu l'espacement entre les colonnes, afin de gagné en clareté, mais le problème, la "hauteur" du tableau, correspond à la hauteur affichée dans la page. Est ce qu'il y a moyen de changer cela?

    En augmentant l'espace entre les lignes, au lieu d'afficher les 10 éléments que j'ai dans le tableau, je n'en affiche que 5 avec la ligne d'en-tête.

    Quelqu'un saurait-il me dire ce que je doit changer?

    J'ai essayer de mettre la "height" du tableau contenant le tout à auto, mais ça ne change rien.

    D'autres idées?

    Merci d'avance pour les idées proposées, et le astuces reçues.

  2. #2
    Membre éclairé Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Par défaut
    je viens de me rendre compte que le message précédent n'est absolument pas clair du tout.

    Je reformule.

    J'ai un tableau. Il contient 2 lignes et 2 colonnes. Chaque cellule de ce premier tableau, contient un DIV.

    Chacun de ces DIV contient un nouveau tableau au nombre de ligne, pour la première ligne du premier tableau = à 1.

    La deuxième ligne du premier tableau contiendra un des tableau avec un nombre de lignes variables en fonction du nombre de résultat récup hors de ma BD.

    Alors ce que je fais, à l'aide d'un javascript récupéré sur le net, je redimensionne le premier tableau de manière à ce qu'il se présente proprement, et ensuite je redim également les tableau imbriqué.

    J'obtiens donc le tableau suivant:



    Lorsque je souhaite imprimé, il n'affiche pourtant pas les tableaux se trouvant dans le premier tableau correctement. (les zones foncées grises donc).
    Le problème que je rencontre également, est que la zone qui se trouve derrière le scroll horizontal du tableau ne s'affiche pas dans l'aperçu avant impression.
    La largeur des colonnes de données (grises claire) se rétrécissent, ce qui les fait passer sur deux lignes, et décales donc toutes les informations du tableau.

    Comment pourrais-je faire pour que cette zone s'affiche??

    Si besoin du code, je le mettrais à disposition.

    S'il vous plait aider moi sur ce coup là, j'ai essayer plusieurs choses, mais rien ne fonctionne correctement.

    p.s. : Je sais que le tableau n'est pas la meilleur manière de faire, mais ayant plus ou moins 20 à 35 colonnes à afficher (en fonction des droits), et je n'ai pas envie de faire scroller toute la page, c'est pas pratique.

  3. #3
    Membre éclairé Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Par défaut
    Bon, comme je vois, personne n'est inspiré. Moi non plus d'ailleurs, je rencontre trop de problème avec ce tableau scrollable.

    J'ai réfléchi le w-e, et je me suis rendu compte, après quelques tests aussi, que les colonnes même ne sont pas alignées, que les lignes ne le sont pas non plus. Il y a des décalages entre les en-tête et les données.

    Alors je me demandais si il ne serait pas plus simple, pas nécessairement plus propres au niveau code, mais plus simple niveau mise en place, de créer un deuxième tableau qui serait dissimulé au yeux du user, contenant, ce tableau, les mêmes informations que mon tableau traité e Javascript, et d'imprimer celui-ci lors de la demande d'une impression. Il me faudrait alors utiliser deux divs différents dans lesquels je placerais mes tableaux, et j'en prendrai un pour l'affichage à l'écran, et l'autre pour l'impression.


    Est ce que vous voyez ce que je veux faire?
    Est ce que cette solution vous parait bonne, oui ou non et pourquoi?

    Si non, est ce que j'ai un moyen de désactiver du javascript lors de l'impression, afin que mon premier tableau puisse récupérer les dimensions de départ afin de pouvoir l'imprimer? Car pour le moment, il ne m'affiche que la zone visible à l'écran, mais il faudrait qu'il affiche tout la page, même les zones invisible.

    Je sais que c'est extrêmement casse pipes de ma part, mais on m'a demandé de la faire, et je ne sais toujours pas si c'est faisable ou non. Et si oui, si c'est faisable une maximum une semaine. Et sinon, est ce que quelqu'un pourrait me dire pourquoi ce n'est pas réalisable au moins?

    En vous remerciant, une fois de plus, pour l'attention portée à ce message.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    1/ par défaut les navigateurs sont paramétrés pour ne pas imprimer les images et couleurs de fond (background-image et background-color donc)

    2/ pour présenter ta page de façon particulière pour l'impression il faut utiliser un CSS associé au média d'impresion (media="print")

  5. #5
    Membre éclairé Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Par défaut
    pour les css, j'avais cru comprendre, mais le problème était différent pour le tableau créé.

    Afin qu'il puisse être scrollable, j'ai du metre en place 5 tableaux, don c4 snt imbriqué dans le premier.
    Lors de la visite de la page, le rendu est très bien car j'utilise un script pour modifier les largeur de colonnes et hauteur de ligne, mais lors de l'impression, comme je n'ai pas de script pour remodeler les tableaux, je me retrouve avec toutes les colonnes et lignes complètement décalées.

    Alors j'ai trouvé une autre solution, par Ajax, lors du chargement de la page, de manière asynchrone, je fait une demande d'un nouveau tableau - allégé celui-ci - et c'est ce dernier qui sera utilisé lors de l'impression.

    Je n'ai malheureusement trouvé aucune solution, du moins jusqu'à maintenant, et comme je suis à deux semaines de la fin de mon stage, je ne vais plus chercher à le modifier. Peut être pour une version 2, mais d'ici là, ça restera comme ça.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par richard_sraing Voir le message
    pour les css, j'avais cru comprendre, mais le problème était différent pour le tableau créé.

    Afin qu'il puisse être scrollable, j'ai du metre en place 5 tableaux, don c4 snt imbriqué dans le premier.
    Lors de la visite de la page, le rendu est très bien car j'utilise un script pour modifier les largeur de colonnes et hauteur de ligne, mais lors de l'impression, comme je n'ai pas de script pour remodeler les tableaux, je me retrouve avec toutes les colonnes et lignes complètement décalées.

    Alors j'ai trouvé une autre solution, par Ajax, lors du chargement de la page, de manière asynchrone, je fait une demande d'un nouveau tableau - allégé celui-ci - et c'est ce dernier qui sera utilisé lors de l'impression.

    Je n'ai malheureusement trouvé aucune solution, du moins jusqu'à maintenant, et comme je suis à deux semaines de la fin de mon stage, je ne vais plus chercher à le modifier. Peut être pour une version 2, mais d'ici là, ça restera comme ça.


    Effectivement, il faudrait peut-être voir à simplifier ton code html pour éviter le javascript pour la mise en forme (il y a d'autres personnes qui ont eu le même genre de problématique concernant le scroll dans un tableau sur ce forum...)

Discussions similaires

  1. [XL-2007] Selection d'un tableau pour impression
    Par apt dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 02/02/2012, 23h59
  2. Afficher des en-têtes de tableau à l'impression
    Par guidav dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 07/07/2008, 10h42
  3. [VBA-E] 1 tableau dynamique, impression de plusieurs tableaux
    Par sunvialley dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/01/2007, 20h14
  4. [FLASH 8] Créer un tableau "scrollable"
    Par dom_dev dans le forum Flash
    Réponses: 2
    Dernier message: 03/04/2006, 09h43
  5. Positionner un tableau scrollable
    Par bodbod dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/01/2005, 19h50

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