jqGrid Édition de Cellules Localement
Je suis en train de mettre en œuvre un jqGrid avec des cellules modifiables:
var myGrid = $("#mygrid").jqGrid({
datatype: 'local',
data: mydata,
colModel: [
{ name: 'Serial', width: 1040, editable: true, edittype: 'text' }
],
rowNum: 10,
rowList: [10, 20, 30],
pager: '#mypager',
sortname: 'Serial',
cellEdit: true,
viewrecords: true,
sortorder: "desc",
onSelectRow: function(id){
if(id && id!==lastSel){
jQuery('#mygrid').restoreRow(lastSel);
lastSel=id;
}
jQuery('#mygrid').editRow(id, true);
}
});
myGrid.jqGrid('navGrid', '#mypager', { edit: true, add: false, del: false, search: true });
Cependant, chaque fois que j'essaie de modifier une cellule, elle me permet d'écrire sur elle, mais dès que je clique sur les autres lignes ou même à l'extérieur de la grille, le texte disparaît.
Autre chose, à chaque fois que je appuyez sur "entrée", il essaie de proposer quelque chose parce qu'il m'indique le message suivant:
"Pas d'url est mis".
Et bien sûr, je veux seulement utiliser cette grille "localement". Après la modification de la grille, l'utilisateur devra cliquer sur un bouton "envoyer" qui est inclus dans le .html et puis je vais gérer les données insérées sur la grille.
Thx.
Vous devez vous connecter pour publier un commentaire.
Pour être en mesure d'utiliser l'édition de cellules localement (vous utilisez
cellEdit:true
) vous devez utiliser cellsubmit:'clientArray' propriété.De l'autre côté vous utilisez également editRow de la fonction, de sorte que vous voulez utiliser D'Édition En Ligne. Pour être en mesure d'utiliser D'Édition En Ligne localement, vous devez définir le
editurl:'clientArray'
(voir la documentation ici).Plus alors que vous utilisez également
myGrid.jqGrid('navGrid', '#mypager', { edit: true, ...})
qui permettent Formulaire D'Édition, qui n'a pas local complet support d'édition.Je vous recommande d'utiliser D'Édition En Ligne et comprennent
editurl:'clientArray'
dans les options de votre jqGrid. Le l'édition de cellules (cellEdit: true
) et Formulaire D'Édition doit être supprimé.