2013-02-28 140 views
7

在我的項目中,我使用<p:column selectionMode="multiple" /> 的數據表,以便使用複選框可以多次選擇條目。只有複選框選擇的Primefaces

但是,當用戶單擊一行時,所有先前的選擇都將被取消選中,並且只選中該行。 這種行爲是意想不到的,令人討厭。 我想禁用rowSelect和rowUnselect行單擊行爲,但似乎我沒有辦法做,但黑客的datatable.js的來源。

有沒有人執行此操作?謝謝回答。

使用:

primefaces 3.5

鑽嘴魚科2.1.6

的GlassFish 3.1.2.2

+2

提供您的代碼。這樣我們就可以找到錯誤或邏輯錯誤。 – 2013-02-28 06:35:21

+1

在這裏,他的代碼並不重要,因爲[showcase本身](http://www.primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf)中正在發生同樣的問題。它似乎只與複選框,而不是與單選按鈕。我也想獲得OP提到的相同行爲。有誰解決了這個問題? – 2013-04-29 11:25:21

回答

11

根據該feature request,此功能現在通過簡單地添加rowSelectMode = 「複選框」 到DataTable支持Primefaces版本5.0.3 & 5.1

文檔引用(PF 5.1):

使用rowSelectMode選項自定義默認行爲上排 點擊啓用數據表中的多項選擇。默認值爲 「新」,清除以前的選擇,「添加」模式保持前 選擇相同,當元鍵是 和「複選框」模式允許行選擇與複選框僅用鼠標點擊行選擇相同。

+0

謝謝,它幫了我很多 – SoftMolina 2017-03-09 01:14:16

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

而不是標記這一點,我應該指出,上面的代碼仍然影響相同的問題,但本地化到一個單元格。 – Charlie 2014-01-21 16:49:22