asteri asteri - 4 years ago 197
Javascript Question

How can I get the number of rows displayed in a jqGrid?

Maybe this information is out there and my Google-fu is failing me, however I can't seem to find the answer. How can I get the number of rows being currently displayed in a jqGrid?

Every question and answer I've found on this topic tells you how to get either the total number of rows (displayed or not) or the number of rows loaded by an external service. Instead, I'm trying to get how many rows are being displayed in the current page of the jqGrid. One of my jqGrid attributes is

rowList:[10,20,30]
, but I'm not sure how to access which one is selected myself.

All I want is how many rows are being currently dislpayed on each page of the jqGrid. The closest thing I've found so far has been this Q&A, but this displayed how many
<tr>
s there are and wasn't really what I needed.

Answer Source
$('.ui-pg-selbox').val()

Tested on the latest jqGrid (4.4.1)

Of course, if you have more than jqGrid per page, you can use an wrapper to ensure that it is the one you're looking for.

$('#myjqGridWrapper .ui-pg-selbox').val()

Not sure whether it's the best way, but it gets the job done.

The space means a descendant selector, that is it looks for elements containing the class ui-pg-selbox which are descendant of an wrapper #myjqGridWrapper. That would require having a div or some other wrapper around your table.


UPDATE: Also, if you have the table ID or a reference, you can use a more sturdy way of querying its jqGrid instance's .ui-pg-selbox:

$('#jqgridTableId').closest('.ui-jqgrid').find('.ui-pg-selbox').val()
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download