2011-06-30 176 views
6

jqGridでインライン編集を使用していますが、セルを選択するとその行の最初の列にカーソルが設定されていますが、最初の行の代わりにクリックした現在のセルを編集する方法。jqGridで選択したセルを編集する方法

ありがとうございます。

+0

類似した質問は、次のとおりです:http://stackoverflow.com/questions/7219598/how-to-set-focus-to-cell-which-was-clicked-to-start-inline-edit-in-jqgrid Olegデモの問題 – Andrus

答えて

6

非常に良い点!

個人的には、編集モードを開始するためにondblClickRowイベントハンドラを使用することをお勧めします。対応するデモhereを参照してください

ondblClickRow: function(rowid,iRow,iCol,e) { 
    grid.jqGrid('editRow',rowid,true); 
    $("input, select",e.target).focus(); 
    return; 
} 

ondblClickRow: function(rowid,iRow,iCol,e) { 
    grid.jqGrid('editRow',rowid,true,function(){ 
     $("input, select",e.target).focus(); 
    }); 
    return; 
} 

またはちょうどeditRowの呼び出しの後にフォーカスを設定するコードのような場所:だからeditRowoneditfuncパラメータを使用することができます。

+0

ありがとうございました。もう1つの質問ですが、データソース内のすべての列に名前が必要です。私はこの例でそれを見てきました。 – Specter

+0

@Specter:あなたはようこそ!あなたの現在の質問は今解決されていますか?そうであれば、回答を「受け入れ」とマークすることができます([ここ](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)の詳細)。あなたの次の質問について:グリッドを埋めるためのさまざまな方法があります。あなたは[ここ](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data)のドキュメントを見つける。グリッド塗りのいくつかのメソッドでは、 'jsonReader'の' repeatitems:true'の場合に、行を表す名前付きプロパティ、または文字列の配列をオブジェクトに与えます。 – Oleg

+0

はい、それはやりたいことですが、動作しません。何か間違ったことがあったかもしれません。行の最初の列がまだ選択されているからです。私のコードでは、jqgridが数多くあり、jquery関数を呼び出すためにグリッドの名前やIDを使用する必要がありますか? – Specter

関連する問題