Mon application comporte plusieurs JQGrids qui peuvent contenir ou non suffisamment de lignes pour nécessiter une barre de défilement verticale. Mais les lignes peuvent être ajoutées de manière dynamique à ces grilles après avoir été créées, de sorte qu'une grille puisse éventuellement nécessiter une barre de défilement.
Le problème est que si la grille n'a pas assez de lignes pour nécessiter une barre de défilement, il y a de l'espace vide sur le côté droit de la grille. Je voudrais résoudre ce problème - soit toujours afficher la barre de défilement verticale, soit l'ajouter de manière dynamique si nécessaire. P>
J'ai essayé d'ajouter le CSS suivant à la grille .ui-JQGrid-BDIV DIV: P > en utilisant la jQuery suivante (le code est laid, je sais): p> Cela fonctionne bien sur Firefox et Chrome, mais Sur la grille, la grille ne présente jamais la barre de défilement (peu importe le nombre de lignes I Ajouter, ils sont ajoutés au bas de la grille et une barre de défilement verticale n'apparaît jamais). P> Toute aide est appréciée! P> P>
4 Réponses :
Avez-vous défini la propriété Hauteur sur la grille? IE peut devenir grincheux avec des barres de défilement si aucune hauteur n'est définie. P>
Donc, je suppose que les seules 2 css que vous pouvez faire à ce sujet, sans aucune Autre balisage impliqué, est d'utiliser Une solution de contournement peut être d'envelopper la grille entière dans une DIV plus importante avec une hauteur min-hauteur, de sorte que vous définissez cela égal à la fenêtre de navigateurs + 1px. De cette façon, vous forcerez une barre de défilement verticale. P> Réglage d'une hauteur minable peut être difficile à faire dans tous les navigateurs, mais j'ai trouvé que cela fonctionne bien dans la plupart d'entre eux. P> Overflow-y code> est CSS3, et il n'est pas encore entièrement supporté par IE (soupir ...)
Overflow: auto code> (qui permettra au navigateur de décider) ou
Overflow: défilement code>, qui forcera les barres de défilement verticaux et horizontales.
.the-wrapper{
height: auto !important; /* for real browsers*/
height: 601px; /* IE6 will use this a min-height. Use any height you need - you can even set this using JavaScript depending on the browser window height */
min-height: 601px; /* for real browsers - same value as height */
}
C'est exactement ce que j'allais recommander. J'avais +1 si j'avais laissé des votes.
Salut Bob, merci quand même :) Mais ça ne me dérangerait pas si tu reviens demain: p
Avez-vous essayé de JQGRID 3.6 Beta, il a beaucoup de nouvelles fonctionnalités telles que: Démo de nouvelles fonctionnalités:
http://www.trirand.com/jqgrid/jqgrid36/jqgrid.htmlled/a > p>
Alsow Il y a une nouvelle méthode ajoutée: gridrérésize code> strong> qui peut redimensionner la grille.
http://github.com/tonytomov/jqgrid/commit/a008ebf7b8ad684b21e51f21eed4301b82bc66f2 P >
Il existe une option code> ScrollOffset code> pour le JQGrid. p>
Définissez-le à zéro et l'espace vide s'en va. P>
Droite, le problème est que la barre de défilement est nécessaire s'il y a plus de lignes que de pouvoir être affichées - mais la grille ne peut en savoir que lorsque les données ont été récupérées. Mais une fois que la grille est construite, l'option code> ScrollOffset code> ne peut pas être modifiée, selon: trirand.com/jqgridwiki/doku.php?id=wiki:Options