Gelé en-tête de tableau à l'intérieur de défilement div
J'ai trois divs. L'en-tête, le centre et le pied de page. Il y a une table dans le centre de div (gridview) qui est presque toujours plus de div extérieure. J'ai donc fait cette div scrollable verticalement. La question est: comment puis-je faire en-tête de tableau qu'il serait visible une fois div défile vers le bas? J'aurais pu faire cet en-tête avec div distinctes ou d'une table et de le rendre fixe, mais la largeur des colonnes dans le tableau ne sont pas toujours le même, donc je ne sais pas comment faire pour maintenir la largeur des colonnes dans l'en-tête ensuite. Aucune idée?
OriginalL'auteur rafek | 2009-01-28
Vous devez vous connecter pour publier un commentaire.
Ici est une solution de base à l'aide de javascript:
Je ne vais pas voter celui-ci. Simplement, il fixe chaque rangée en haut de la page n'est pas quelque chose qui va travailler dans une page qui a quelque chose de plus que juste de ce tableau sur la page.
Checkout meetselva.github.io/table fixe-lignes-cols , de la accepté de répondre pour stackoverflow.com/questions/296020/...
OriginalL'auteur alumb
Je viens de mettre ensemble un plugin jQuery qui fait exactement ce que vous voulez. Sa très petite taille et très facile à mettre en œuvre.
Tout ce qui est nécessaire est un tableau qui a un thead et tbody.
Vous pouvez envelopper ce tableau dans un DIV avec un nom de classe et la table sera toujours redimensionner pour s'adapter à div. ainsi par exemple, si votre div échelles, avec le navigateur de la fenêtre de la table. L'en-tête sera fixé lors du défilement. Le pied de page sera fixe (si vous activez un pied de page). Vous avez également la possibilité de cloner l'en-tête dans le pied de page et de la faire réparer. Aussi, si vous faites la fenêtre de votre navigateur trop petit et toutes les colonnes ne peuvent pas s'adapter...il va également faire défiler horizontalement (en-tête).
vous venez de passer la DIV du nom de la classe du plugin comme ceci: $('.myDiv').fixedHeaderTable({pied de page: true, footerId: 'myFooterId'});
et le plugin se chargera de faire le reste. FooterID est un élément de la page qui contient le marque-place pour votre pied de page. c'est le cas si vous voulez avoir la pagination que votre pied de page.
Si vous avez plusieurs tableaux de la page, il fonctionnera également pour chaque tableau, vous voulez avoir un en-tête fixe.
découvrez-le ici: http://fixedheadertable.mmalek.com/
Gardez à l'esprit son encore en "beta" donc, je suis en ajoutant de nouvelles fonctionnalités et corrections de bugs quotidien.
Navigateurs compatibles: IE6, IE7, IE8, FireFox, Safari et Chrome
OriginalL'auteur Mark
Vous devez mettre la tête à l'extérieur de la div scrollable. Tout à l'intérieur de la div de défilement.
MODIFIER
Concernant la largeur, si vous allez pour un en-tête distincte, je peux voir quelques solutions:
Je n'ai pas réellement essayé la première, et il pourrait être de compliquer à l'excès un peu les choses. C'est quelque chose à essayer si vous êtes désespéré pour l'effet.
Je dois aussi mentionner qu'il y a probablement des bibliothèques javascript avec une table, des widgets qui le font déjà. Jetez un oeil à eux de voir comment ils le font.
OriginalL'auteur Draemon
Vous avez besoin de mettre un tableau avec les en-têtes à propos de votre tableau de données. Vous pouvez maintenir la largeur de la colonne avec table-layout:fixe. JavaScript peut être utilisé pour correspondre à la largeur d'une colonne.
OriginalL'auteur Greg
Voici une belle solution (surtout en CSS) qui utilise fixe la largeur des colonnes: http://www.imaputz.com/cssStuff/bulletVersion.html
Et voici un peu de jQuery pour fixer la cellule largeurs lorsque le contenu de la cellule prendre plus large que la largeur fixe:
La sortie est un peu dans IE lors de l'utilisation d'un non-DTD strict. Ajuster les largeurs dans le CSS si vous ne pouvez pas utiliser le mode standard.
Noter que le code jQuery augmente la largeur de la table à la fin, et désactive la barre de défilement horizontale. Vous pouvez ou ne voulez pas que.
OriginalL'auteur waqas
Vous pouvez essayer le plugin jQuery Stupide En-Tête Fixe. La technique de base est le même: cloner un en-tête et de le mettre sur le dessus de la table de la couche.
OriginalL'auteur jackysee
Ce que vous voulez vraiment faire, c'est faire de la
<tbody>
de la table de données de défilement, de sorte que le<thead>
et<tfoot>
restera naturellement fixes.Alors que c'est trivial pour les FF et al:
IE a grave et des questions complexes avec tbody en général. Il peut être résolu avec les expressions, mais c'est non-trivial, et spécifiques à la conception.
OriginalL'auteur annakata
Je n'ai pas testé, mais peut-être que vous pouvez générer la table deux fois, une fois dans la tête et une fois dans le défilement de la div. Alors dans l'en-tête, faire toutes les lignes à l'exception de la ligne d'en-tête invisible. Peut-être avec 'display: none' ou de définir leur hauteur à zéro.
OriginalL'auteur noswonky
Cette solution fonctionne à l'aide de CSS dans les navigateurs Firefox et les autres navigateurs Gecko, et les expressions CSS sous IE.
http://home.tampabay.rr.com/bmerkey/examples/nonscroll-table-header.html
L'en-tête et pied de page ne pas rester fixé à l'Opéra ou Safari/Chrome, mais l'ensemble de la table est de défilement de sorte qu'il est utilisable. Notez que les colonnes sont données en pourcentage des largeurs de l'auteur, par exemple, mais ils peuvent être enlevés.
Si vous voulez expérimenter avec Opera/Safari/Chrome soutien, cherche à donner la tbody display:block et aller à partir de là.
OriginalL'auteur Andrew Duffy
Prendre un coup d'oeil à YUI Tableau de Données si vous êtes à la recherche d'une approche globale de la croix-navigateur de mise en œuvre. Je crois que c'est fait par la création d'une autre table avec une correspondance de la largeur des colonnes.
Il semble y avoir des trucs pour fixer la largeur des colonnes. Si je me souviens bien, Firefox exige <col/> balises d'être présent.
En tout cas, il y avait de nombreuses astuces employées dans YUI DataTable (50 lignes). Vous seriez bien avisé de regarder et de décider dans quelle mesure vous voulez aller sur votre propre à cette.
OriginalL'auteur Chui Tey