2010-10-11 13 views
1

en utilisant jqGridversion 3.7.2Pourquoi jqGrid donne-t-il "Erreur: Aucune URL n'est définie" si cellSubmit est "clientArray"?

Je pensais que si je définissais cellSubmit: 'clientArray' alors la grille n'a pas besoin d'une URL pour publier des données. Je suis trynig juste capturer la valeur changée localement et la traiter manuellement, pas déclencher automatiquement un événement de serveur. Pourtant, lorsque j'essaie de quitter une cellule éditée, je reçois toujours la boîte de dialogue "Error: No url is set".

options de grille def:

$(".mytable").jqGrid({ 
    datatype: 'local', 
    data: myData, 
    colModel: colModelDef, 
    sortname: 'date', 
    sortorder: 'desc', 
    width: 950, 
    height: 550, 
    shrinkToFit: false, 
    rownumbers: true, 
    multiselect: true, 
    cellEdit: true, 
    beforeSaveCell: function() { 
     //rowid, cellname, value, iRow, iCol 
     alert(arguments[2]); 
    }, 
    cellSubmit: 'clientArray' 
}); 

Répondre

4

Il s'est avéré que c'était une faute de frappe, devrait lire "cellsubmit" pas "cellSubmit" fonctionne comme un charme. Thanks Tony!

0

Avant tout ce que vous devez remplacer sélecteur de classe$(".mytable") au sélecteur id comme $("#mygrid"). Si l'élément <table> n'a pas encore l'identifiant, vous devez l'ajouter. jqGrid travaille en interne permanent avec l'identifiant de l'élément table et construit les identifiants des autres éléments DOM en fonction de l'identifiant de l'élément <table>. Donc, l'utilisation de <table> sans ID ne peut pas fonctionner correctement.

Si un simple changement du sélecteur ne vous aidera pas à inclure le code complet d'un exemple qui peut être utilisé pour reproduire le problème.

0

add suivi attr et l'erreur sera parti

loadonce:true