2011-06-24 6 views
0

J'utilise cette commande pour ajouter une nouvelle ligne. Il affiche la fenêtre avec les champs qui doivent être ajoutés.jqGrid + editGridRow + ajouter une nouvelle ligne + masquer/afficher les colonnes + ajouter une nouvelle ligne

jQuery("#editgrid").jqGrid('editGridRow',"new",{height:280,reloadAfterSubmit:false}); 

Maintenant, basé sur une fonctionnalité que je cache et montre quelques colonnes dans la même grille « EditGrid » et quand je clique sur Ajouter une ligne, il montre à nouveau les mêmes champs précédents au lieu de nouveaux.

par ex. lorsque je charge la grille en premier, j'indique les colonnes ['Date', 'Client', 'Montant']. Lorsque je clique sur ajouter une nouvelle date de ligne, le client, les champs de montant sont affichés dans la fenêtre contextuelle. Maintenant, basé sur la fonctionnalité, je cache les champs Date, client et montant et affiche les champs ['Taxe', 'Total', 'Fermé']. Lorsque je clique sur ajouter, il affiche à nouveau les mêmes champs précédents date, client, montant. Mais il devrait montrer l'impôt, total, fermé.

S'il vous plaît aider !!!

Merci

+0

serait mieux si vous partagez le code, votre explication est assez difficile à comprendre – WooDzu

Répondre

0

Je suppose que vous pouvez résoudre le problème en utilisant la propriété supplémentaire recreateForm:true:

jQuery("#editgrid").jqGrid('editGridRow',"new", 
          {height:280,reloadAfterSubmit:false,recreateForm:true}); 
+0

Merci. Cela fonctionne parfaitement !!! – Tivakar

+0

@Tivakar: Vous êtes les bienvenus! D'ailleurs, il y a environ deux ans, j'ai eu les mêmes problèmes que vous. Je passe environ deux jours dans le débogage de jqGrid jusqu'à ce que je comprenne pourquoi parfois les réglages de Edit et Add dialog sont mélangés. A partir du moment où je remplace certaines valeurs par défaut de jqGrid par rapport à '$ .extend ($ .jgrid.edit, {recreateForm: true/* ... d'autres paramètres * /});'. Je vous recommande de faire la même chose – Oleg

Questions connexes