Как подсчитать количество строк в jqGrid?

Как подсчитать количество строк в jqGrid?

Чтобы уточнить, задействовано не так много данных, поэтому сетка извлекает все свои данные с сервера в одном запросе вместо использования разбиения на страницы.


person Community    schedule 14.10.2009    source источник


Ответы (6)


jQuery("#myGrid").jqGrid('getGridParam', 'records');

Обновить

Обратите внимание, что есть два параметра для определения количества записей:

записи

целое число

Свойство только для чтения. Дает количество записей, возвращенных в результате запроса к серверу.


пересчет

целое число

Свойство только для чтения. Определяет точное количество строк в сетке. Не путайте это с параметром records. Хотя во многих случаях они могут быть равными, бывают случаи, когда они не равны. Например, если вы определяете rowNum равным 15, но запрос к серверу возвращает 20 записей, параметр records будет равен 20, а параметр reccount будет равен 15 (в сетке у вас будет 15 записей, а не 20).

person Jacob Mattison    schedule 14.10.2009
comment
Ах да, я должен был узнать больше о jqGrid, прежде чем отвечать. Вот ссылка: secondpersonplural.ca/jqgriddocs/_2eb0fi5wo.htm - person Steve Wortham; 14.10.2009
comment
Чтобы вы знали, последние документы были перемещены в вики: trirand .com/jqgridwiki/doku.php?id=wiki:options - person Justin Ethier; 14.10.2009
comment
JacobM - Спасибо, я знал, что должен быть лучший способ! Кроме того, теперь, когда я действительно прочитал этот раздел документации :) - вы можете добавить описание reccount, который делает что-то подобное. - person Justin Ethier; 14.10.2009

$("#grid").getGridParam("reccount");

Свойство только для чтения. Возвращает целое число. Определяет точное количество строк в сетке. (А не количество извлеченных записей).

Подробнее здесь.

person Community    schedule 09.01.2012

Вот код, который у меня есть до сих пор. Кажется, должен быть лучший способ:

jQuery("#myGrid").getDataIDs().length;
person Justin Ethier    schedule 14.10.2009

Как насчет этого?

jQuery("#myGrid tr").length;

На самом деле, вы можете сделать еще один шаг вперед с необязательным параметром контекста.

jQuery("tr", "#myGrid").length;

Любой из них будет искать каждый "tr" внутри "#myGrid". Однако, как показало мое собственное тестирование, указание параметра контекста обычно происходит быстрее.

person Steve Wortham    schedule 14.10.2009

Вы можете попробовать:

jQuery("#GridId").jqGrid('getDataIDs');
person Community    schedule 06.06.2013

person    schedule
comment
Принятый ответ был написан до того, как был разработан новый .jqGrid API. Я только что отредактировал этот ответ, чтобы использовать ваш фрагмент кода, так как теперь это предпочтительный способ. Спасибо! - person Justin Ethier; 27.09.2011