9

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

ただし、ユーザーが行をクリックすると、以前のすべての選択が選択解除され、その行のみが選択されます。この動作は予期せぬものであり、煩わしいものです。行クリック時のrowSelectとrowUnselectの動作を無効にしたいのですが、datatable.jsのソースをハッキングする以外に方法がなかったようです。

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

使用:

Primefaces 3.5

クロサギ2.1.6

Glassfish 3.1.2.2

4

2 に答える 2

16

この機能リクエストによると、この機能は、rowSelectMode = "checkbox"をデータテーブルに追加するだけで、Primefacesバージョン5.0.3および5.1でサポートされるようになりました。

ドキュメントリファレンス(PF 5.1):

rowSelectModeオプションを使用して、複数選択が有効なデータテーブルの行クリック時のデフォルトの動作をカスタマイズします。デフォルト値は「新規」で、以前の選択をクリアします。「追加」モードは、メタキーがオンのときにマウスクリックで行を選択するのと同じように以前の選択を維持し、「チェックボックス」モードはチェックボックスのみで行を選択できます。

于 2015-02-12T12:52:28.600 に答える
0

これをページに配置すると、行をクリックしたときに選択を停止するのに役立つ場合があります。

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

this == event.targetチェックボックスの外側にあるチェックボックス列自体をクリックする場合は、最後の条件( )が必要です。

于 2013-08-20T16:12:50.237 に答える