jqgrid nombre entier non défini? pager pas de chargement

IM en utilisant jqgrids sur mvc4, j'ai besoin de pour obtenir d'une simple liste et l'afficher à l'aide d'Ajax.

Lorsque je charge la page, puis grille commence un appel Ajax, je n'ai que 2 colonnes sur la grille, user_id et le nom.

Lorsque le Json est chargé j'obtiens l'erreur suivante sur Google chrome:

Uncaught Maquettiste: Impossible de lire la propriété 'integer' undefined

et dans firefox, firebug:

TypeError: b.jgrid.formateur est pas défini

sur jquery.jqGrid.src.js:122

Et la grille affiche un "undefined" msg, aussi, le courant pageer de contrôle n'est pas de chargement, mais les données sont

 <table id="GridUsuarios"></table>
    <div id="PagerUsuarios"></div>


  <script type="text/javascript"> 
        $(document).ready(function() {
            jQuery("#GridUsuarios").jqGrid({
                url: '@Url.Action("UsuariosGridData","Usuarios")',
                datatype: "json",
                myType: 'GET',
                contentType: "application/json; charset-utf-8",                
                colNames: ['Usuario', 'Nombre'],
                colModel: [
                    { name: 'user_id', index: 'user_id', width: 90},
                    { name: 'nombre', index: 'nombre', width: 200}
                ],
                pager: '#PagerUsuarios',
                rowNum: 10,
                rowList: [10, 20, 30],
                viewrecords: true,
                height: 'auto',
                sortname: 'nombre',
                sortorder: 'desc',
                caption: "Usuarios",
                jsonReader: {
                    root: "rows",
                    total: "total",
                    page: "page",
                    records: "records",
                    repeatitems: false,
                    id: "user_id"
                },
            });            
        });
    </script>

et mon contrôleur:

    public JsonResult UsuariosGridData(string sidx = "" , string sord = "", int page = 1, int rows = 10)
{
var resultado = db_hms.Users//.OrderByDescending(ur => ur.id_user)
.Join(db_hms.v_natural_person_short, ur => ur.id_employee, np => np.id_natural_person, (ur, np) => new { Users = ur, Natural_Person = np })//cambiar el idUser por idEmployee la relacion es alrevez XD                            
.Select(s => new { user_id = s.Users.id_user, nombre = s.Natural_Person.name_full })
.ToList();
int vpage = page;
int vrows = rows;  
int counter = (int)Math.Ceiling((float)resultado.Count() / (float)vrows);            
switch (sidx)
{
case "nombre":
{
if(sord == "desc")
{
resultado = resultado.OrderByDescending(s => s.nombre).Skip(vrows * vpage).Take(vrows).ToList();
}
else
{
resultado = resultado.OrderBy(s => s.nombre).Skip(vrows * vpage).Take(vrows).ToList(); ;
}
break;
}
case "user_id":
{
if(sord == "desc")
{
resultado = resultado.OrderByDescending(s => s.user_id).Skip(vrows * vpage).Take(vrows).ToList();
}
else
{
resultado = resultado.OrderByDescending(s => s.user_id).Skip(vrows * vpage).Take(vrows).ToList();
}
break;
}
}
var retornar = new
{
total = counter,
page = vpage,
records = vrows,
rows = resultado
};
return Json(retornar, JsonRequestBehavior.AllowGet);
}

et un petit json exemple:

{"total":101,"page":1,"records":303,
"rows":[{"user_id":"titito","nombre":"EL bonito, tito "},
{"user_id":"noro","nombre":"ElMoro, Noro "},
{"user_id":"maka","nombre":"Martinez, Macanencio "}]}

OriginalL'auteur EricGS | 2013-05-23