Comment compter le nombre de lignes dans un jqGrid?
Pour clarifier, il n'y a pas beaucoup de données impliquées donc la grille extrait toutes ses données du serveur en une seule requête, au lieu d'utiliser la pagination.
jQuery("#myGrid").jqGrid('getGridParam', 'records');
Mise à jour
Notez qu'il existe deux paramètres pour déterminer le nombre d'enregistrements:
enregistrements
entier
Propriété en lecture seule. Donne le nombre d'enregistrements renvoyés à la suite d'une requête au serveur.
recompter
entier
Propriété en lecture seule. Détermine le nombre exact de lignes dans la grille. Ne confondez pas cela avec le paramètre
records
. Bien que dans de nombreux cas, ils puissent être égaux, il y a des cas où ils ne le sont pas. Par exemple, si vous définissez rowNum à 15, mais que la demande au serveur renvoie 20 enregistrements, le paramètre records sera 20, mais le paramètre recomptage sera 15 (la grille vous aurez 15 enregistrements et non 20).
$("#grid").getGridParam("reccount");
Propriété en lecture seule. Renvoie un entier. Détermine le nombre exact de lignes dans la grille. (Et pas le nombre d'enregistrements récupérés).
Plus d'informations ici .
Que dis-tu de ça?
jQuery("#myGrid tr").length;
En fait, vous pouvez aller plus loin avec le paramètre de contexte facultatif.
jQuery("tr", "#myGrid").length;
Soit on recherchera chaque "tr" à l'intérieur de "#myGrid". Cependant, d'après mes propres tests, la spécification du paramètre de contexte est généralement plus rapide.
jQuery("#myGrid").jqGrid('getGridParam', 'records');
Tu pourrais essayer:
jQuery("#GridId").jqGrid('getDataIDs');
Voici le code que j'ai jusqu'à présent. Il semble qu'il devrait y avoir un meilleur moyen:
jQuery("#myGrid").getDataIDs().length;