2011-06-16 10 views
5

No puedo configurar elementos por página para jqgrid. Mi jqGrid es:jqgrid - elementos por página

 jQuery('#EmployeeTable').jqGrid({ 
      url: '/Admin/IdeasJSON', 
      datatype: 'json', 
      postData: { page: page, pageIndex: pageIndex, Filter: Filter, DateStart: DateStart, DateEnd: DateEnd, TagID: TagID, StatusID: StatusID, CategoryID: CategoryID, IsDescription: IsDescription }, 
      loadComplete: function() { pageIndex = null }, 
      jsonReader: { 
       page: "page", 
       total: "total", 
       records: "records", 
       root: "rows", 
       repeatitems: false, 
       id: "" 
      }, 

....

y método MVC devuelve:

 var result = new JsonResult() 
     { 
      Data = new { page = page, total = total, records = totalCount, rows = IdeaForJSONs } 
     }; 
     result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; 

     return result; 

donde IdeaForJSONs tiene 50 elementos. No sé por qué, pero la cuadrícula muestra 20 elementos. ¿Por qué?

+0

El ajuste por defecto es 20. Hay que configurarlo según sus datos. – js1568

+0

Derecha, la opción 'rowNum' se predetermina a' 20'. –

Respuesta

9

Eche un vistazo a la opción rowNum. De la documentación:

Establece cuántos registros queremos ver en la cuadrícula. Este parámetro se pasa a la url para que lo use la rutina del servidor que recupera los datos. Tenga en cuenta que si establece este parámetro en 10 (es decir, recupera 10 registros) y su servidor devuelve 15, entonces solo se cargarán 10 registros.

El valor predeterminado es 20, lo que explica por qué solo está viendo tantas filas.

Si se aumenta a 50 debería ver todos sus datos en la red:

jQuery('#EmployeeTable').jqGrid({ 
     url: '/Admin/IdeasJSON', 
     ... 
     rowNum: 50, 
Cuestiones relacionadas