2010-04-06 18 views
20

Chciałbym wiedzieć, jak uzyskać liczbę wierszy dla jqGrid. Używam rowNum: -1, więc wyświetla wszystkie wiersze. Próbowałem użyć:Jak uzyskać liczbę wierszy dla jqGrid?

parseInt($("#grid").getGridParam("records"), 10) 

Ale zawsze zwraca 0.

Dzięki za pomoc.

Odpowiedz

34

Spróbuj:

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

z jqGrid documentation:

reccount (całkowitą)

właściwość tylko do odczytu. Zwraca dokładną liczbę wierszy w siatce


Należy również zauważyć, że, jak Mike zauważył, trzeba użyć metody getGridParam z opcją records aby pobrać liczbę wszystkich wierszy, jeśli używasz paginacji .

+1

Należy pamiętać, że jeśli stronicowanie jest włączone w twoim jqGrid, ta funkcja po prostu zwróci liczbę pokazanych wierszy * na tej stronie *. Aby uzyskać pełną liczbę wierszy, użyj funkcji getGridParam, pokazanej w jednej z pozostałych odpowiedzi. –

+1

@MikeGledhill - Dzięki, zaktualizowałem tę odpowiedź, dodając "records", ponieważ żadna inna odpowiedź nie wyjaśnia, dlaczego to działa. Zauważ, że operacja nie używała stronicowania, ale wiele osób czytających to może być ... –

2

Próbowałem reccount i otrzymałem zero, ale za mnie pracował.

<div>Total subscriber count: <div id="count" style="display: inline;"></div></div> 

<br /> 

<div> 
    <table id="grid"></table> 
</div> 

<script type="text/javascript"> 

    $(document).ready(function() { 
     $("#grid").jqGrid({ 
      //Other stuff removed for brevity 
      gridComplete: function() { 
       $('#count').html($('#grid').getGridParam('records')); 
      } 
     }); 
    }); 

</script> 
1

To może być przesadą i nie wiem, czy jest lepszy sposób, ale działa to dla mnie:

$("#grid").getRowData().length 
13
jQuery("#grid").jqGrid('getGridParam', 'records'); 
0
<a href="javascript:void(0)" id="g9" onclick="alert(jQuery('#list').jqGrid('getGridParam','records'));">Get number of records in Grid</a> 
0

i uzyskać dane siatki do tablicy, a następnie użyj funkcji array length, aby uzyskać długość tablicy. Jest równy liczbie rekordów w jqgrid.

//get the grid data to array  
var rows = $('#jqxgrid').jqxGrid('getrows'); 
// get the length of the array on array.length using javascript funcation 
alert('' + rows.length);