2016-04-05 4 views
1

Ich habe ein Raster mit Zellen-Bearbeitungsmodus. Das Problem ist: Nachdem die letzte Zelle geändert wurde, befindet sich der Fokus immer noch in dieser Zelle. Dann wird keine ENTER/ESC gedrückt, klicken Sie direkt auf die nächste Seite, um Eingaben für die nächste Seite zu machen. Nach einigen Tagen finden sie die letzte Zelle jeder Seite nicht wie erwartet gespeichert.jqgrid im celledit-Modus, ändern nicht gespeichert nach Klick nächste Seite/vorherige Seite usw.

Wie geht man damit um? wie erwartet

Ich habe versucht, jqgrid.src.js zu modifizieren diese wird die Änderung speichern Diese

.... 
$("input, select, textarea", cc).bind("keydown" . 
.... 
//my code start here 
.bind("blur", function (e) { 
    $($t).jqGrid("saveCell", iRow, iCol); 
) 
//my code end here 

die saveCell wie zu binden (‚blur‘) auf der Zell-Eingabeelement zu nennen. ABER, die NEXT-PAGE/PRE-PAGE des Grids funktioniert erst nach einem Reload.

Ich denke, das ist ein häufiges Problem für jqgrid Benutzer.

Kann mir jemand helfen?

Antwort

0

Ich würde Ihnen empfehlen, onPaging Rückruf als Speicherort für die Bearbeitungszelle von saveCell zu verwenden. Siehe the answer.

+0

Oleg, Sie sind der Meister von JQGRID. Danke für deine Antwort. Ich habe deine Methode ausprobiert. Das selbe Problem existiert: Speichern ist fertig, danach funktioniert der PAGE BUTTON nicht. Ich benutze jqgrid 4.7.1. Mein Testgitter hat 2 Seiten. Ich ändere eine Zelle auf Seite 1, dann klicke auf NEXT PAGE, die Zelle wird gespeichert. Paging funktioniert nicht. – user3754671

+0

Es scheint, als wäre die aktuelle Seite ERROR, nachdem saveCell aufgerufen wurde. – user3754671

+0

@ user3754671: Versuchen Sie, [free jqGrid] zu verwenden (https://github.com/free-jqgrid/jqGrid) 4.13.1. Es ist die Gabel, die ich entwickle, indem ich jqGrid kommerziell mache (siehe [hier] (http://guriddo.net/?page_id=103334)) und jqGrid in Guriddo jqGrid JS umbenenne (siehe [die Post] (http: // www .trirand.com/blog /? p = 1438)). – Oleg