2011-12-18 4 views
0

Le bouton expand/collapse ne fonctionne pas correctement avec jqGrid lorsque vous utilisez la grille redimensionnable avec la souris. Le jqGrid est enveloppé par un div dragable qui définit la largeur/hauteur de la grille. Lorsque je réduis la grille, elle continue d'afficher la div 'resize' même si la grille elle-même est réduite.Utilisation de Drag'n'Resize jqGrid avec expand/collapse

Quelqu'un at-il des suggestions pour ce problème? Même la démo de jqGrid a ce problème. Le problème ne se produit qu'après que vous l'ayez redimensionné une fois. Ensuite, essayez de réduire la grille.

http://trirand.com/blog/jqgrid/jqgrid.html

Cette démo est reproduit mon problème. J'utilise exactement le même code. Vous remarquerez que la grille a également l'air plutôt moche en faisant glisser.

Répondre

0

Chaque fois que vous ajoutez la possibilité de redimensionner le jqgrid, il enveloppe la grille à l'intérieur d'une grille générée après le redimensionnement de la grille. Jqgrid semble définir des valeurs statiques dans css en ligne, ce qui provoque des problèmes.

Ce que j'ai fait pour résoudre ce problème est de chercher le bouton qui va déclencher cet événement. Dans le cas de jqgrid, il y a une balise avec une classe de 'HeaderButton' (c'est le bouton dans le coin supérieur droit). J'ai donc utilisé jQuery pour cibler l'événement 'click' et ensuite changé la hauteur de la div wrapper 'resize' en 'auto'.

donc essentiellement je l'ai fait:

//This first line select an element with a class="HeaderButton" 
$('.HeaderButton').click(function() { 
//Find the ID of the div that jqgrid is creating and replace RESIZEGRIDID with appropriate name 
     if ($('#RESIZEGRIDID "/>').attr('data-status') != 'hidden' || $('#RESIZEGRIDID ').attr('data-status') == undefined) { 
     $('#RESIZEGRIDID "/>').attr('data-status', 'hidden'); 
     $('#RESIZEGRIDID "/>').css({ 'height': 'auto' }); 
     } else { 
     $('#RESIZEGRIDID "/>').attr('data-status', 'active'); 
     $('#RESIZEGRIDID "/>').css({ 'height': 'auto' }); 
     } 

Espérons que cette aide;)

+0

Cela a fonctionné à merveille. Il a fait le travail exact que je voulais. Merci! – Jpepper