Je construis une grille complètement "côté client" mais si j'active l'édition en ligne, les modifications que je fais sont perdues si je change la page de la grille.Perte des données de cellule éditées après pagination
Espérons que quelqu'un peut signaler ce que je suis absent
La configuration de la grille est présentée ci-dessous avec la fonction que j'appelle pour le remplir avec des données de test:
var myGrid;
var lastgridsel;
jQuery(document).ready(function() {
myGrid = jQuery("#mygrid").jqGrid({
datatype: 'local',
colModel: [
{ name: 'AID', label: 'AID', index: 'AID', width: 100, editable: false,
sorttype: "int" },
{ name: 'MS', label: 'MS', index: 'MS', width: 300, editable: false },
{ name: 'GROUP', label: 'GROUP', index: 'GROUP', width: 100,
editable: false },
{ name: 'REV', label: 'REV', index: 'REV', width: 100,
editable: false },
{ name: 'OPT', label: 'OPT', index: 'OPT', width: 100, editable: true,
edittype: 'text' }
],
pager: '#mypager',
rowNum: 10,
rowList: [10, 20, 500],
viewrecords: true,
loadonce: true,
autowidth: true,
sortname: 'AID',
sortorder: 'desc',
cellsubmit: 'clientArray',
onSelectRow: function(id) {
if (id && id !== lastgridsel) {
jQuery('#mygrid').saveRow(lastgridsel, false, 'clientArray');
jQuery('#mygrid').editRow(id, true);
lastgridsel = id;
}
}
});
});
var mydata = [];
function InitNew() {
for (var i = 0; i < 100; i++) {
mydata.push({ AID: i, MS: "123", GROUP: "456", REV: "78", OPT: "8" });
}
myGrid.setGridParam({ data: mydata }).trigger("reloadGrid");
}
Cela montre 10 pages, 100 enregistrements. Si je clique sur la colonne "OPT", je peux changer la valeur dans la zone de texte et quand je clique sur une autre ligne, les données semblent être sauvegardées. Cependant, une fois que je vais sur une autre page et que je reviens à la première page, les données reviennent à leur valeur d'origine.
Je dois aussi mentionner qu'il faut une ligne dans les options: localReader: { id: 'AID'}, – jqwha
C'est très bien que maintenant nous avons une solution de travail! J'ai écrit tout à l'heure la suggestion d'inclure la description de la méthode 'refreshIndex' dans la documentation de jqGrid (voir http://www.trirand.com/blog/?page_id=393/bugs/data-parameter-are-not-modified- pendant le montage en ligne/# p18613). – Oleg