2010-08-02 4 views
4

J'ai un jqGrid mis en place avec des données locales. Je n'envoie aucune donnée au serveur tant que le formulaire complet n'est pas rempli. Mon problème est le suivant: lorsqu'un utilisateur ajoute/modifie une ligne, jqGrid tente de publier les résultats sur le serveur. J'ai essayé d'omettre l'attribut "editurl" de l'invocation jqGrid, mais cela se traduit par une erreur "No URL is set" lorsque l'utilisateur clique sur le bouton "submit" du formulaire popup pour ajouter/modifier des enregistrements.jqGrid editurl valeur pour l'édition locale?

J'ai essayé de mettre dans un seul hachage "#" pour la valeur editurl, mais cela échoue également.

Des pensées?

Répondre

11

editurl doit être 'clientArray' dans votre cas.

+0

J'ai essayé de définir "editurl: 'clientArray'", editurl: "'clientArray'", et plusieurs autres choses, mais tout ce que j'ai pu obtenir, c'est que clientArray soit traité comme une URL littérale. J'ai googlé "jquery clientarray" et j'ai essayé de l'implémenter comme montré ailleurs, mais je n'ai toujours rien obtenu. Je travaille avec une copie de jqGrid que je viens de publier la semaine dernière, donc c'est assez récent. Je suis sûr que je ne suis pas en train de régler le problème, mais j'ai trouvé un correctif. –

+0

Le correctif de pansement est quelque chose que j'ai glané de http://www.trirand.com/blog/?page_id=393/help/problem-form-editing-for-clientarray/ Ce que j'ai fait était de mettre en place un valide URL cible qui ne fait rien. editurl: 'index.cfm? fuseaction = Ajax.doNothing'. Je pense que cela a fait cesser la douleur, et si je décide d'utiliser l'approche client/serveur, je vais changer mon «ne rien faire» en un «faire quelque chose». –

+2

Vous 'editurl: 'clientArray' est pris en charge par l'édition en ligne, mais il ne me semble pas dans l'édition de formulaire. En cas de modification de formulaire, vous devriez probablement utiliser une url ajax factice comme vous le faites. Un exemple que vous pouvez trouver sur la page de démonstration http://trirand.com/blog/jqgrid/jqgrid.html choisissez "Nouveau dans la version 3.7" puis "Ajouter/éditer/supprimer sur les données locales" – Oleg

3

Set editurl: 'url', cellsubmit: 'clientArray', cellEdit: true

ou

here

+0

Il me manquait cellSubmit sur les paramètres de la grille, merci – afreeland

1

Voir ce pour un exemple complet des données locales jqGrid.

local edit on jqgrid

Changer vos données initiales et votre columnmodel, et vous serez presque fait.

Ce n'est pas une solution en ligne, mais, semble, c'est la façon de faire face à l'édition locale.

+0

merci pour le partage ce. je note que le bit important est 'return {};' mais pour moi cela n'empêche pas la requête ajax. cela empêchera-t-il seulement la demande de travailler avec des données locales? – ryanthescot

Questions connexes