Frage

Wir verwenden ein benutzerdefiniertes Formatierer, um HTML -Formentextfelder auszugeben. In dem Fall, dass ein Benutzer in Daten eingegeben hat und er auf die nächste/vorherrschende Schaltfläche drückt, möchten wir ihm mitteilen, dass "Sie Daten bearbeitet haben, OK klicken, um auf dieser Seite zu bleiben und Ihre Daten zu speichern". Wie kannst du das tun?

Das 'Onpaging'Ereignis feuert, wenn Sie den Pager verwenden, aber es scheint Sie nicht zu verhindern, dass die Pagination auftritt.


Aktualisieren: Aktuelle Problemumgehung:

var currPg = 1;
var dirty = 'false';


  $("#list").jqGrid({
    ...
    onPaging: function (b) {
        var nextPg = $("#list").getGridParam("page");

        if (dirty == 'false') {
           currPg = nextPg;
           return;
        }


        $( "#dialog-confirm" ).dialog({
        modal: true,
        buttons: {
            "Stay on current page": function() {
                $( this ).dialog( "close" );
            },
            "Change page": function() {
                $( this ).dialog( "close" );
                reloadGrid($("#list"), null, nextPg, 'false');
            }
        }
        });

        $("#list").setGridParam({page:currPg}); //Workaround - jqGrid still increments the page num even when we return stop so we have to reset it (and track the current page num)    
        return 'stop';
    },

Update 2: Bug protokolliert hier.

War es hilfreich?

Lösung

Wenn die Funktion Onpaging Rückkehr "Stop", dann wird die Pagination gestoppt.

Andere Tipps

Gemäß meiner Beobachtung funktioniert das OnPaging -Event im neuesten JQGRID -Plugin gut. Wenn wir das vorherige JQGrid -Plugin verwenden (vor 3.8 Version) .Onpaging -Ereignis funktioniert jedoch ein Fehler in der Pagination, nachdem wir dieses Ereignis verwenden. entweder Benutzer klicken auf OK oder abbrechen (in beiden Fällen). Dies führt zu korrupten Pagagationsdaten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top