2011-09-29 3 views
0

J'ai expérimenté avec jqGrid 4.1.2 ces derniers jours, activant de plus en plus de fonctionnalités intégrées en cours de route. Quelque part, le téléavertisseur a cessé de fonctionner et je n'arrive pas à comprendre ce qui ne va pas. Lorsque la grille se charge, je peux voir les données de la première page, mais lorsque je change de page, les données restent les mêmes. Seul le compteur change. Si je sélectionne 100 dans le menu déroulant du nombre de lignes, je peux voir toutes les données.Le pager jqGrid a cessé de fonctionner

J'ai comparé aux exemples à http://www.trirand.com/blog/jqgrid/jqgrid.html et tout semble correspondre, mais j'avoue que je ne suis pas le meilleur codeur JavaScript il y a. Voici le code incriminé:

<script type="text/javascript" language="javascript"> 
jQuery(document).ready(function() { 
    jQuery("#testgrid").jqGrid({ 
     url:'/Main/DynamicGridData/', 
     mtype:'POST', 
     datatype:'json', 
     colNames: [ 
      'CustomerId', 
      'RecordStartUtc', 
      'RecordEndUtc', 
      'Id', 
      'Name', 
      'Status', 
      'AudioTitle', 
      'ServerId', 
      'ServerName', 
      'ApplicationInstanceId', 
      'ApplicationInstanceName', 
      'ApplicationName', 
      'ChannelId', 
      'ChannelFullName', 
     ], 
     colModel: [ 
      { name: 'CustomerId', index: 'CustomerId', width: 0, align: 'left' }, 
      { name: 'RecordStartUtc', index: 'RecordStartUtc', width: 0, align: 'left' }, 
      { name: 'RecordEndUtc', index: 'RecordEndUtc', width: 0, align: 'left' }, 
      { name: 'Id', index: 'Id', width: 0, align: 'left' }, 
      { name: 'Name', index: 'Name', width: 0, align: 'left' }, 
      { name: 'Status', index: 'Status', width: 0, align: 'left' }, 
      { name: 'AudioTitle', index: 'AudioTitle', width: 0, align: 'left' }, 
      { name: 'ServerId', index: 'ServerId', width: 0, align: 'left' }, 
      { name: 'ServerName', index: 'ServerName', width: 0, align: 'left' }, 
      { name: 'ApplicationInstanceId', index: 'ApplicationInstanceId', width: 0, align: 'left' }, 
      { name: 'ApplicationInstanceName', index: 'ApplicationInstanceName', width: 0, align: 'left' }, 
      { name: 'ApplicationName', index: 'ApplicationName', width: 0, align: 'left' }, 
      { name: 'ChannelId', index: 'ChannelId', width: 0, align: 'left' }, 
      { name: 'ChannelFullName', index: 'ChannelFullName', width: 0, align: 'left' }, 
     ], 
     pager:'#gridpager', 
     rowNum:25, 
     rowList:[25,50,75,100], 
     sortname:'Id', 
     sortorder:'Asc', 
     viewrecords:true, 
     imgpath:'/Content/themes/base/images', 
     caption:'Test Grid', 
     autowidth:true, 
     width:'100%', 
     height:'100%', 
     hoverrows:false 
    }); 
    jQuery("#testgrid").jqGrid(
     'navGrid','#gridpager', 
     {view:true,edit:false,add:false,del:false},{},{},{}, 
     {multipleSearch:true,multipleGroup:false},{closeOnEscape:true} 
    ); 
}); 

</script> 

<table id="testgrid"></table> 
<div id="gridpager"></div> 

Merci à l'avance, // Linus

Répondre

0

Pas dans un endroit pour tester votre code, mais essayez de changer votre « sortorder » valeur « Asc » en minuscules.

Si vous implémentez radiomessagerie côté serveur puis ajoutez cette propriété:

loadonce: false;

ref: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options

tester également sur votre code côté serveur si la demande vient à la deuxième page du tout!

+0

La propriété loadonce a fait l'affaire. Merci beaucoup! –