2017-08-05 12 views
-1

jqGridには行をインライン編集するためにF2キーをアクティブにする方法や方法はありませんか(Windows F2のように)。 私は、標準のdblClickイベントとページャの「編集」ボタン(それらを置き換えない)を保ちたいと思います。しかし、さらに言及したように、私は、ユーザーが行を選択することができますし、F2キーを押すとEDITボタンと同じように動作する必要があります。jqGrid:インライン編集を有効にするためのF2キー?

おかげで(私のバージョンは無料jqGrid 4.13.7-前です)!

+0

に役立ちますか?説明してください、ありがとう。 – Aberel

答えて

1

free-jqGridを使用しているので、メソッドbindKeyが変更されているかどうかはわかりませんが、実際にこれを行う方法を知ることができます。

基本的には、keydownイベントをグリッドIDにバインドし、F2が押されたかどうかを分析し、パラメータselrowを使用して編集を呼び出すか、メソッドを呼び出す必要があります。

$("#jqGrid").on("keydown", function(event){ 
    var target = $("#jqGrid").find('tr[tabindex=0]')[0]; 
    if(target) { 
     if(event.keyCode === 113 && this.p.selrow) { // F2 key pressed and row is selected 
      $(this).jqGrid("editRow", this.p.selrow, {keys:true}); 
     } 
    } 
}); 

希望これは、誰かが私の質問をd​​ownvoteなぜ

+0

ありがとうTony!私はそれを試みます。私はおそらくネイティブのオプションや何かがあると思われますが、私はそうではないと思います。私はオレグの反応を待っていましたが、今は彼が忙しいと思います。私は最初に "keydown"イベントを選択した行にバインドしようとしましたが、jqgrid.srcをチェックして、 "restore"が起動されると(ESCキー)、 "keydown"イベントはバインドされていません。 $(tr).off( "keydown")のようなものなので、復元された行はすべてそのイベントを失い、再びコードをバインドする必要があります。これでコードが複雑になって終了します。 – Aberel

+0

@ Aberelありがとうございます。喜んで助けてください。私はGuriddo jqGridでこのコードをテストしましたが、期待通りに動作しています。 –

関連する問題