2010-09-01 7 views

Répondre

11

Si vous supprimez loadonce:true et utilisez datatype:"json" ou "datatype:xml" l'option jqGrid puis votre serveur doit implémenter la pagination. Le serveur reçoit certains paramètres qui seront ajoutés au url dans le cas de requêtes 'GET' ou dans le corps HTTP en cas de requêtes "POST". Ces paramètres sont rows, page, sidx, sord. Par exemple si votre table a une colonne avec l'index 'Name' comme colonne de tri en cours et rowNum: 20 alors votre URL sera ajoutée avec ?rows=20&page=1&sidx=Name&sord=asc. Votre serveur doit construire l'instruction SELECT à la base de données où les données sont placées avec ORDER BY Name asc puis diviser le résultat en pages 20 lignes par page et renvoyer la première page des résultats. (Voir Get current url including parameters of Jqgrid pour un peu plus d'informations). Pour un PHP avec MySQL sur le serveur, voir http://www.trirand.com/jqgridwiki/doku.php?id=wiki:first_grid#php_and_mysql_example_file à titre d'exemple.

Ainsi, en cas de loadonce:false ou aucun paramètre loadoncevotre serveur est responsable pour le tri et la pagination des données. Si ce n'est pas le cas, vous devriez vérifier le code de votre serveur.

+0

merci! de nouveau ... puis-je activer la pagination sans le changement de côté du serveur en réinitialisant setGridParam ({rowNum: 10})) avant le déclencheur ('reloadGrid'); (comme vous l'avez suggéré dans le quit précédent sans rien changer côté serveur ... .when Je fais un appel à onSelectRow ... – paul

+1

Dans mes tests, voir http://www.ok-soft-gmbh.com/jqGrid/verorange.htm, http://www.ok-soft-gmbh.com /jqGrid/ClientSidePaging.htm, http://www.ok-soft-gmbh.com/jqGrid/ClientsideEditing.htm, http://www.ok-soft-gmbh.com/jqGrid/ClientsideEditing4.htm soit il n'y a pas problème avec la pagination ou il pourrait être résolu avec le paramètre 'rowNum' ou' page'. – Oleg

Questions connexes