2010-05-20 4 views
0

Salut J'ai un jqgrid qui est incorporé dans un Div. Je supprime des enregistrements de la grille et recharge la grille en utilisant grid.Trigger ('reload'). La largeur de la grille est considérablement élevée, de sorte qu'il y a une barre de défilement. Maintenant, j'ai fait défiler horizontalement la fin de la grille avant de supprimer les enregistrements. Chaque fois que je supprime les enregistrements et recharge la grille, les en-têtes de colonne et leurs valeurs sont légèrement décalés. Lorsque je ramène la barre de défilement à la position d'origine ou que je bouge légèrement la barre de défilement, ils sont correctement alignés.Faire défiler une Div par programmation en utilisant say

J'ai donc pensé qu'il valait mieux déplacer la barre de défilement dans sa position initiale lorsque la grille se rechargerait. Comment une barre de défilement peut-elle être déplacée par programmation en utilisant javascript? Ou y a-t-il un autre moyen de résoudre mon problème?

+0

Une question connexe pourrait vous être utile: http://stackoverflow.com/questions/675855/refreshing-div-cause-browse-to-redraw-it – JYelton

Répondre

0

De daniweb (non testé):

document.getElementById('id1').scrollTop = document.getElementById('id2').offsetTop; 

Où ID1 est la div; et id2 est l'élément à faire défiler dans la div.

0

Il me semble que vous avez surtout un problème avec un mauvais calcul de la largeur par jqGrid et pas un problème avec le défilement horizontal. Regardez les scripts que j'ai publiés dans Correctly calling setGridWidth on a jqGrid inside a jQueryUI Dialog. Ils ne sont pas parfaits, mais peuvent fixer le calcul de la largeur de la grille dans la plupart des situations. De plus, je vous recommande de vérifier si vous changez (probablement indirectement) les propriétés de remplissage par défaut des éléments <td>. Si c'est le cas, il peut être nécessaire d'ajuster l'option cellLayout de jqGrid (voir http://www.trirand.com/blog/?page_id=393/feature-request/celllayout/&value=cellLayout&type=1&include=1&search=1&ret=all).

UPDATED: Encore un conseil: essayez d'utiliser la dernière version non compressée de jqGrid que vous pouvez télécharger depuis http://github.com/tonytomov/jqGrid. Il a une petite correction dans setGridWidth (voir http://www.trirand.com/blog/?page_id=393/bugs/some-bugfixes-for-3-6-5/).

Questions connexes