2011-10-20 30 views
1

jqgridグリッドでは、最初の列と他の列としてチェックボックスがあります。行(どこでも)をクリックすると、チェックボックスがオンまたはオフに切り替わります。jqGridの行のクリックイベントを防止する

すべての行の「クリック」イベントを教えてください。グリッドはフレームワークによって作成されるため、グリッドの生成後にこれを実行したいと思います。

おかげで、

+0

行のクリックを「無効にする」とはどういう意味ですか?行の選択を防止したいですか?あなた自身の "onCellClick"イベントハンドラを実装しますか? – Oleg

+0

行をクリックしてもイベントが欲しくないです。 –

+0

申し訳ありませんが、私はあなたが欲しいものをまだ理解していません。あなたは 'multiselect:true'オプションを使いますか? – Oleg

答えて

2

あなたは、既存のグリッド上beforeSelectRowイベントハンドラを登録するsetGridParamメソッドを使用することができます。そのハンドラは、選択操作をキャンセルするためにfalseを返す必要があります。

場合によっては、イベントのtargetプロパティでis()メソッドを使用して、クリックがチェックボックスで開始されたかどうかを判断できます。最終結果は次のようになります。

$("#yourGrid").jqGrid("setGridParam", { 
    beforeSelectRow: function(rowId, e) { 
     return $(e.target).is("input:checkbox"); 
    } 
}); 
+0

私が言ったように、私はグリッドを生成するコードにアクセスする必要はありません、それはフレームワークにあります。私はグリッド生成の後にクリックを防ぐ必要があります –

+0

実際、グリッドの作成時にハンドラを登録するのではなく、 'jqGrid(" setGridParam ")'を使うことを提案しました。私はあなたの質問を誤解しましたか? –

+0

@ Kris-I:どのような方法であれ、jqGridを使用するので、Webブラウザでページのソースコードを開くことができます。または、ページに含まれているJavaScriptファイルを調べることができます。 *どのように正確に* jqGridが使用され、使用されるパラメータが表示されます。あなたの質問のテキストにコードを含めると、多くのことがクリアされます。 – Oleg

関連する問題