5

カスタムフォーマッタを使用して、htmlフォームのテキストボックスを出力します。ユーザーがデータを入力し、次へ/前へボタンを押した場合、「データを編集しました。[OK]をクリックしてこのページにとどまり、データを保存してください」と伝えます。どうすればこれを行うことができますか?

' onPaging 'イベントは、ページャーを使用すると発生しますが、ページネーションの発生を防ぐことはできないようです。


更新:現在の回避策:

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';
    },

アップデート2:バグがここに記録されました。

4

2 に答える 2

5

関数onPagingが「stop」を返す場合、ページネーションは停止されます。

于 2010-09-27T17:06:15.140 に答える
0

私の観察によると、onPagingイベントは最新のjqgridプラグインでうまく機能します。以前のjqgridプラグイン(3.8バージョンより前)を使用すると、onPagingイベントは機能しますが、このイベントを使用した後のページネーションにバグがあります。ページの値が自動的にインクリメントされるためです。ユーザーが[OK]をクリックするか、キャンセルします(どちらの場合も)。これにより、ページネーションのデータが破損します。

于 2013-11-29T10:51:54.620 に答える