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

jQuery Discussion :

Figer ligne titre d'un tableau


Sujet :

jQuery

  1. #1
    Membre du Club
    Homme Profil pro
    dev
    Inscrit en
    Septembre 2013
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2013
    Messages : 81
    Points : 46
    Points
    46
    Par défaut Figer ligne titre d'un tableau
    Bonjour,

    je cherche à figer ma ligne titre de mon tableau que je génère dynamiquement par ce code :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    $.each (data.TabResult, function(ligne, retourjson)
    					{
    						if(ligne==0)
    						{
    							$header=$('<tr/>').addClass('header');
    							$.each(retourjson, function(titre, retour)
    							{
    								// switch pour renommer ma ligne titre
    								switch(titre)
    								{
    									case "NI": titre="Num<br />Intervention"
    									break;
     
    									case "TypeInt": titre="";
    									break;
     
    									case "Auth": titre="";
    									break;
     
    									case "NF": if(TypeRech=="Fax") titre="Num<br />Fax"; if(TousDevisImp == 1) titre = "Type<br />Comm";
    									break;
     
    									case "Expe": if(TypeRech=="Mails") titre="Adresse<br />Expéditeur";
    									break;
     
    									case "Desti": if(TypeRech=="Mails") titre="Adresse<br />Destinataire";
    									break;
     
    									case "TDoc": titre="Type<br />Document";
    									break;
     
    									case "MtTotDoc": titre="Total<br />Imprimé";
    									break;
     
    									case "NDoc": titre="";
    									break;
     
    									case "CCli": titre="Code<br />Client";
    									break;
     
    									case "NCli": titre="Nom<br />Client";
    									break;
     
    									case "DCreat": titre="Date<br />Création";
    									break;
     
    									case "HCreat": titre="Heure<br />Création";
    									break;
     
    									case "DEnvoi": titre="Date<br />Envoi";
    									break;
     
    									case "HEnvoi": titre="Heure<br />Envoi";
    									break;
     
    									case "DValid": titre="Date<br />Validation";
    									break;
     
    									case "HValid": titre="Heure<br />Validation";
    									break;
     
    									case "CodeDem": titre="Code<br />Demandeur";
    									break;
     
    									case "CodeVal": titre="Validé<br />par";
    									break;
     
    									case "Tentative": titre="Nb Tentatives<br />Envoi"; if(TousDevisImp == 1) titre = "";
    									break;
     
    									case "CE": titre="Cause<br />Echec"; if(TousDevisImp == 1) titre = "";
    									break;
     
    									case "Envoi": titre="";
    									break;
     
    									case "Mess": titre="Estimation<br />avant envoi"; if(TousDevisImp == 1) titre = "";
    									break;
    								}
    								if(titre!="")
    								{
    									$cell=$('<td/>').html(titre);
    									$header.append($cell);
    								}
    							});
     
    							$('#myTable').append($header);
    						}
     
    						$ligne=$('<tr/>');
     
    						// Affiche tableau des select
    						if(TypeRech == "Fax" || TypeRech == "Mails")
    						{
    							// construit les lignes avec les données retour
    							$.each(retourjson, function(titre, retour)
    							{
    								// toutes les colonnes que je ne souhaite pas afficher
    								if(titre!="TypeInt" && titre!="Auth" && titre!="NDoc" && titre!="Envoi")
    								{
    									if(titre == 'MtTotDoc') retour = Arrondir(retour, 2);
    									if(titre == 'MtTotDoc') Total += +retour;
    									if(titre == 'MtTotDoc') retour += ' €';
    									if(retour == '0 €') retour = '- €';
    									if(retour == '00-00-0000' || retour == '00:00:00') retour = '';
    									$cell=$('<td/>').html(retour);
    									$ligne.append($cell);
    								}
    							});
    						}
     
    						// Affiche tableau "Tous les devis imprimés" checkbox cochée
    						if(TousDevisImp == 1)
    						{
    							// construit les lignes avec les données retour
    							$.each(retourjson, function(titre, retour)
    							{
    								// toutes les colonnes que je ne souhaite pas afficher
    								if(titre!="TypeInt" && titre!="Auth" && titre!="NDoc" && titre!="Envoi" && titre != "Expe" && titre != "Desti" && titre != "Tentative" && titre != "CE" && titre != "Mess")
    								{
    									if(titre == 'MtTotDoc') retour = Arrondir(retour, 2);
    									if(titre == 'MtTotDoc') Total += +retour;
    									if(titre == 'MtTotDoc') retour += ' €';
    									if(retour == '0 €') retour = '- €';
    									if(retour == '00-00-0000' || retour == '00:00:00') retour = '';
    									$cell=$('<td/>').html(retour);
    									$ligne.append($cell);
    								}
    							});
    						}
     
    						$('#myTable').append($ligne);
    					});
    Nom : Sans titre.png
Affichages : 265
Taille : 12,9 Ko

    En effet, pour que les utilisateurs n'aient pas à remonter en haut du tableau pour voir dans quelles colonnes ils regardent, je souhaite figer ma ligne titre.
    Je souhaite également figer ma colonne Num Intervention, pour que les utilisateurs ne perdent pas leur ligne, de façon à ce qu'ils ne doivent pas faire gauche-droite pour retrouver le Num Intervention.
    Comment faire cela avec ce tableau généré dynamiquement ?
    Je sèche complétement pour ma part :/

    Merci d'avance

  2. #2
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 740
    Points
    4 740
    Par défaut
    Cest pas très compliqué...
    Il faut séparer la ligne d’ entête des lignes de contenu dans 2 tableaux différents, et régler l'utilisation du scroll par le css ( overflow:auto )
    «La pluralité des voix n'est pas une preuve, pour les vérités malaisées à découvrir, tant il est bien plus vraisemblable qu'un homme seul les ait rencontrées que tout un peuple.» [ René Descartes ] - Discours de la méthode

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. Fixer la ligne de titre d'un tableau dans un div
    Par slopera dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 26/01/2009, 14h25
  2. Surligner une ligne sélectionnée d'un tableau
    Par cosmos38240 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/01/2006, 20h33
  3. [CSS] Figer l'entete d'un tableau
    Par Silvia12 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 02/08/2005, 11h46
  4. Éliminer les lignes blanches dans un tableau
    Par DenPro dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/11/2004, 01h27
  5. [HTML] Se placer à une ligne précise dans un tableau
    Par seb55555 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/10/2004, 15h06

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