Maximale des lignes affichées comte de tableau HTML
Ont JSP page avec HTML générées dynamiquement le tableau avec un nombre inconnu de lignes.
Avoir la propriété sur le backend, qui définit le nombre maximal de lignes, e.g: max_rows=15.
Comment limiter le nombre de lignes de la table HTML pour max_rows valeur?
L'autre partie du tableau doivent être accessibles par défilement verticale,cela signifie que l'utilisateur de voir les 15 lignes et si pour faire défiler vers le bas, qui sera vu d'autres lignes de la table.
Il peut être fait de façon empirique par le calcul de la moyenne de la hauteur de la ligne et à l'aide de max-hauteur de propriété pour les div-wrapper, mais je pense que cette approche n'est pas très stable.
Il est donc nécessaire de s'appuyer sur le nombre de lignes.
Peut-être il ya un plugin pour ce cas ou c'est la norme CSS ou HTML solution?
merci pour la notation, j'ai édité le post pour être plus clair
OriginalL'auteur sergionni | 2010-01-22
Vous devez vous connecter pour publier un commentaire.
Cela peut être fait avec la norme HTML, CSS et un peu de javascript. Il peut être fait pour dégrader gracieusement pour les clients avec javascript désactivé. Je veux dire par là, ils vont juste voir la table d'origine, non modifié par les barres de défilement. Essayez quelque chose comme ceci:
Cela a été testé dans Firefox, Chrome et IE 7, mais il devrait fonctionner tous les navigateurs modernes. Notez qu'il n'a pas d'importance comment grand le contenu de chaque ligne est, ou combien de remplissage de chaque cellule. Si vous ne souhaitez pas utiliser border-collapse:collapse sur votre table, vous devez ajouter du code dans la boucle for pour prendre cellspacing en compte.
Si vous avez plus épais frontières, puis remplacer la fonction javascript avec celui-ci:
Le try/catch dans il gère les différences entre IE et les autres navigateurs. Le code dans le catch est pour IE.
fonctionne bien,merci pour l'aide
C'est un peu tard, mais s'il vous plaît vérifier ma réponse. J'ai trouvé un moyen de le faire sans javascript!
Votre solution ne fournit pas le scrolling qui était initialement demandé...il vient se cache les lignes supplémentaires, ce qui les rend inaccessibles.
Vous avez absolument raison. Je n'ai pas compris la question. Désolé pour ressusciter une vieille question avec une réponse incorrecte. Je vous remercie pour cette. J'ai édité ma réponse avec un avertissement.
OriginalL'auteur DaveS
Modifier: Ce n'est pas réellement résoudre le problème proposé. J'ai raté la partie de la question à laquelle l'utilisateur doit être capable de faire défiler pour voir le reste des lignes. Oups. Donc, je suppose que le js est réellement nécessaire.
Cela peut être fait sans javascript. L'astuce est d'utiliser
nth-child(x)
:Le border-collapse est nécessaire de sorte que la frontière ne s'étend pas au-delà les lignes masquées.
Voici la violon.
vous pouvez également utiliser display:none au lieu de visibility:hidden si la boucle d'une table pour économiser de l'espace
Lorsque de nouvelles données, après le 4ème enfant. Ce qui se passe? Pouvez-vous mettre à jour le 1er enfant de données avec les données entrantes?
OriginalL'auteur rarrarrarrr
Mis à votre table dans un bloc div et CSS pour spécifier la hauteur et la propriété de dépassement de la div.
De cette façon, la div a une hauteur fixe et le navigateur va ajouter une barre de défilement lorsque le contenu de la div bloc est trop en hauteur.
J'ai réglé la hauteur de 15em, ce qui correspond à 15 * police-hauteur. Lors de l'utilisation des frontières, des remplissages et des trucs cette hauteur est incorrect. Mais il peut être calculé de manière plus adéquate (en px) pour votre conception.
Oui, il est stable, mais j'ai peur que la hauteur de la colonne peut varier à cause de la longueur du texte à l'intérieur, et il peut causer une certaine imprécision.
En effet. Vous pouvez utiliser JavaScript pour trouver la hauteur de la première 15 lignes, ajouter ces valeurs, modifier div hauteur. Mais cela semble très instable pour moi...
OriginalL'auteur Veger
Il n'y a aucun moyen de le faire avec seulement le CSS et le HTML, vous avez besoin de javascript. Obtenir la hauteur de la partie supérieure de 15 lignes, et de limiter la hauteur d'un emballage div à la hauteur. Ensemble overflow: auto sur la div pour obtenir vos barres de défilement.
N'oubliez pas de définir une valeur par défaut de la hauteur de la div comme un secours si javascript est désactivé.
OriginalL'auteur Emil Stenström
Vous pouvez utiliser le
slice
fonction:OriginalL'auteur user8761489