2013-02-28 9 views
7

私のプロジェクトでは、<p:column selectionMode="multiple" /> でデータテーブルを使用するので、チェックボックスを使用して複数のエントリを選択できます。チェックボックスの選択だけでデータテーブルを作成する

ただし、ユーザーが行をクリックすると、以前の選択はすべて選択されず、その行のみが選択されます。 この動作は予期せず迷惑です。 行のクリックでrowSelectとrowUnselectの動作を無効にしたいと思いますが、datatable.jsのソースをハッキングする方法はありませんでした。

誰もこれを前に実装していますか?回答ありがとうございます。使用

primefaces 3.5

クロサギ科2.1.6

のGlassFish 3.1.2.2

+2

コードを入力してください。それで私たちはその中でエラーや論理的な誤りを見つけることができます。 –

+1

彼のコードは同じ問題が[ショーケースそのもの](http://www.primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf)で起きているので重要ではありません。ラジオボタンではなく、チェックボックスのみで表示されます。私はまた、OPが言ったのと同じ振る舞いをしたい。誰もそれを解決しましたか? –

答えて

11

このfeature requestによれば、この機能は現在、単にデータテーブルにrowSelectMode = "チェックボックス" を追加することによって、Primefacesバージョン5.0.3 & 5.1に支持されています。

ドキュメントの参照(PF 5.1):複数選択が有効のDataTableの行 クリックでデフォルトの動作をカスタマイズする

使用rowSelectModeオプション。デフォルト値は "new"は前の選択をクリアし、 "add"モードは前のものを保持します 選択はmetakeyがオンのときにマウスクリックで行を選択するのと同じです"checkbox"モードではチェックボックスのみで行を選択できます。

+0

ありがとう、それは私の多くを助けた – SoftMolina

1

をあなたのページでこれを入れて、あなたが行をクリックすると、選択を停止することに役立つかもしれません。

$(document).ready(
    function() { 
     $("tr td").click(function(event) { 
      if (!$(this).find("div").hasClass("ui-chkbox") || $(this).find("div").find("div").hasClass("ui-state-disabled")) { 
       event.stopPropagation(); 
     } 
    }); 
}); 
+0

これをマークするのではなく、上記のコードが同じ問題に影響しますが、それを1つのセルにローカライズすることを指摘しておきます。 – Charlie

関連する問題