“Undefined” message dans jqgrid, “b.jgrid.formateur n'est pas défini”
quand je suis à l'envoi de réponse JSON pour jqgrid j'obtiens un "undefined" message à travers elle et Firebug me dit ceci:
b.jgrid.formatter is undefined
[Break On This Error]
...input===true){b(".ui-pg-input",l).val(a.p.page);h=a.p.toppager?"#sp_1"+m+",#sp_1...
qui, fondamentalement, ne m'en dit pas beaucoup.
Ce qui se passe quand je suis à l'envoi de réponse vide:
{"total":0,"page":1,"records":0,"rows":[]}
ou de la réponse avec les enregistrements. Les enregistrements sont ensuite visibles dans la grille. Après ce "undefined" message est affiché, je ne peux pas naviguer à travers les pages, comme, bien sûr, le bug dans le code apparu.
@Oleg a suggéré que je suis fournissant ici pour plus d'infos:
- Ce sont des scripts javascript que j'utilise:
jquery.validate.min.js jquery.validate.unobtrusive.min.js jquery-1.5.1.min.js jquery-ui-1.8.11.min.js jquery.jqGrid.min.js ui/jquery.ui.core.js ui/jquery.ui.widget.js ui/jquery.ui.datepicker.js
- Ma source javascript:
var grille = jQuery("#list").jqGrid({ datatype: 'json', légende: "Transaction Log', hiddengrid: 'true', postData: { companyId: function () { return $("#SelectedCompany").val(); }, userId: function () { return $("#SelectedUser").val(); }, dateFromString: function () { return $("#DateFrom").val(); }, dateverschaîne: function () { return $("#DateTo").val(); } }, url: '@Url.Action("GetTransactionLogData")', mtype: 'GET', colNames: ['Réf.', 'TradeDate', 'Statut', 'LegalEntity', ...], colModel: [ { nom: "Référence", l'index: 'Référence', width: '60' }, { nom: 'TradeDate', l'index: 'TradeDate', width: '70' }, { nom: 'Statut', l'index: 'Status', width: '50' }, { nom: 'LegalEntity', l'index: 'LegalEntity', width: '80' }, ... ], pager: $('#pager'), rowNum: 10, hauteur: '100%' });
- J'ai téléchargé la dernière version de jqGrid à partir de [ce lien][1], il est dit que c'est **4.4.0** version.
Comment puis-je résoudre ce problème?
Merci d'avance.
Dans le cas où de telles erreurs, vous devez toujours 1) refaire la même chose avec
Salut @Oleg, je vous remercie de me donner cette liste de détails que je devrais présenter ici afin de trouver une solution avec la communauté.
jquery.jqGrid.src.js
au lieu de jquery.jqGrid.min.js
2) vous devez spécifier la version exacte de jqGrid que vous utilisez 3) vous devez inclure la liste des fichiers JavaScript de laquelle vous avez chargé sur la page. L'ordre de chargement peut être très important. 4) vous devez inclure le code JavaScript qui définit jqGrid.Salut @Oleg, je vous remercie de me donner cette liste de détails que je devrais présenter ici afin de trouver une solution avec la communauté.
OriginalL'auteur Draško | 2012-06-29
Vous devez vous connecter pour publier un commentaire.
Il est important d'inclure
grid.locale-en.js
avantjquery.jqGrid.min.js
de faire jqGrid de travail.En outre, je vous recommande d'ajouter
gridview: true
option pour jqGrid et remplacerpager: $('#pager')
àpager: '#pager'
parce que jqGrid besoin de l'id du sélecteur de radiomessagerie. Si vous utilisezpager: $('#pager')
puis jqGrid remplacera le paramètre àpager: '#pager'
. De sorte que la formepager: $('#pager')
a pas vraiment de sens que le jqGrid paramètre.seront définies dans
grid.locale-en.js
et sera étendu et utilisé dansjquery.jqGrid.src.js
. Ainsi, le texte "b.jgrid.formateur n'est pas défini" pourrait être parce que vous n'avez pas inclusgrid.locale-en.js
. Avez-vous essayé votre code avecjquery.jqGrid.src.js
? L'erreur que vous obtenez et dans la ligne dejquery.jqGrid.src.js
?Merci beaucoup! J'ai réarrangé un peu la liste et maintenant tout fonctionne très bien!
C'est une bonne nouvelle! Vous êtes les bienvenus!
Bonne prise @Oleg . J'ai ajouté votre solution de blog: blog.webdevilopers.net/... Merci
OriginalL'auteur Oleg