2010-04-06 6 views
20

Ich würde gerne wissen, wie man Zeilenanzahl für jqGrid bekommen. Ich verwende rowNum: -1, so dass alle Zeilen angezeigt werden. Ich habe versucht, mit:Wie bekomme ich die Zeilenanzahl für jqGrid?

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

Aber es gibt immer 0.

Danke für die Hilfe.

Antwort

34

Versuchen:

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

vom jqGrid documentation:

reccount (integer):

Readonly-Eigenschaft. Gibt die genaue Anzahl der Zeilen im Raster


Beachten Sie auch, dass, wie Mike kommentierte, können Sie die getGridParam Methode mit dem records Option verwenden, müssen eine Anzahl aller Zeilen abzurufen, wenn Sie Paginierung verwenden .

+1

Beachten Sie, dass wenn Sie in Ihrem jqGrid Paging aktiviert haben, diese Funktion nur die Anzahl der auf dieser Seite * angezeigten Zeilen zurückgibt. Um die vollständige Anzahl der Zeilen zu erhalten, verwenden Sie die Funktion 'getGridParam', die in einer der anderen Antworten angezeigt wird. –

+1

@MikeGledhill - Danke, ich habe diese Antwort aktualisiert, um 'records' zu enthalten, da keine der anderen Antworten erklärt, warum das funktioniert. Beachten Sie, dass die Op keine Paginierung verwendet, aber viele Leute, die das lesen, könnten ... –

2

Ich versuchte recount und ich bekam Null, aber das folgende funktionierte für mich.

<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

Dies könnte zu viel des Guten und nicht wissen, ob es eine bessere Art und Weise ist, aber das funktioniert für mich:

$("#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 die Rasterdaten an Array und dann Verwenden Sie die Array-Längenfunktion, um die Array-Länge zu erhalten. Es ist gleich für die Anzahl der Datensätze im 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);