0

行を削除するには、jqGrid ツールバーとインライン削除ボタンを使用します。

削除コマンドで削除ダイアログが表示されます。削除が確定またはキャンセルされた後、グリッドはフォーカスされません。キーボード ナビゲーションをグリッドで機能させるには、グリッドでのマウス クリックが必要です。

削除後にフォーカスをグリッドに設定する方法、または削除がキャンセルされた場合に追加のマウス クリックが不要になるようにする方法は?

ツールバーの削除ボタン:

        $.extend($.jgrid.del, {
            top: window.innerHeight/2-100,  
            left: window.innerWidth/2-120,
            closeOnEscape: true,
            errorTextFormat: function (response) { 
              clearModeless();
              return decodeErrorMessage(response.responseText, '', '');
              },
            reloadAfterSubmit: false,
            afterShowForm: function($form) {
                var form = $form.parent()[0];

                $("#dData",form).attr("tabindex","1000");
                $("#eData",form).attr("tabindex","1001");
                setTimeout(function() {
                    $("#dData",form).focus(); 
                },50);
            }
           });


           $grid.jqGrid("navGrid", "#grid_toppager", { 

            search:  true,
            del: true,
            add: true,
            view: true,
            edit: true
          }, 

          {       url: '/erp/Grid/Edit?_entity=Klient'},

       {        url: '/erp/Grid/Add?_entity=Klient' },

        { url: '/erp/Grid/Delete?_entity=Klient',

          beforeShowForm: function(form) {
            var selected = $grid.jqGrid('getGridParam','selarrrow');
            $("td.delmsg",form).html( 'Rows '+selected.length +'<br/>' +
                 'Delete?' );
            }
        }
);

列の削除ボタン:'

             colModel: [{"name":"_actions","formatter":"actions","viewable":false,"formatoptions":{"editbutton":true,"keys":true,"onSuccess":function (jqXHR) { jqXHRFromOnSuccess=jqXHR;return true;}
,"afterSave":function (rowId) {
  var data = $.parseJSON(jqXHRFromOnSuccess.responseText);
$grid.jqGrid('setRowData', rowId, { Kood: data.PrimaryKeyValues[0] }); 
cancelEditing($grid);afterGridSaveFunc(rowId,jqXHRFromOnSuccess);jqXHRFromOnSuccess=null; 
updateButtonState($grid);
}
,"restoreAfterError":false,"onError":errorfunc
,"extraparam":{"_dokdata":FormData
},"afterRestore":function () {
          updateButtonState($grid);
        }
,"onEdit":onInlineEdit
,"delbutton":true,"delOptions":{"url":"Delete","afterComplete":function (response, postdata, formid) { summarefresh($grid); }
}}},
4

1 に答える 1

1

グリッドまたは 内の別の要素にフォーカスを設定する必要があるようですafterComplete。あなたが使用しreloadAfterSubmit: falseているので、ここにフォーカスを設定しても問題ありません。現在、summarefresh関数を呼び出します。の呼び出しの直後にフォーカスを設定できますsummarefresh

于 2012-04-07T21:10:27.997 に答える