2013-02-28 2 views
7

В моем проекте я использую datatable с <p:column selectionMode="multiple" /> , так что записи могут быть несколько выбраны с использованием флажков.ПЕЧАТНЫЕ ПАНЕЛИ с возможностью выбора флажка ТОЛЬКО

Однако, когда пользователь нажимает на строку, весь предыдущий выбор не выбран и выбирается только эта строка. Такое поведение является неожиданным и раздражающим. Я хотел бы отключить поведение rowSelect и rowUnselect при нажатии клавиши, но, похоже, у меня не было возможности сделать это, кроме взлома источника datatable.js.

Кто-нибудь реализует это раньше? Спасибо за ответ.

Использование:

primefaces 3,5

mojarra 2.1.6

GlassFish 3.1.2.2

+2

Предоставьте ваш код. Чтобы мы могли найти ошибку или логическую ошибку в этом. –

+1

Здесь его код не важен, так как одна и та же проблема происходит в самой [витрине] (http://www.primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf). Кажется, что только с флажком, а не с переключателем. Я также хочу получить то же поведение, о котором говорил ОП. Кто-нибудь это решил? –

ответ

11

Согласно этому feature request, эта функция теперь поддерживается в версиях Primefaces 5.0.3 & 5,1 просто добавив rowSelectMode = «флажок» в DataTable.

ссылка Документация (PF 5,1):

вариант использования rowSelectMode настроить поведение по умолчанию на строке щелчок множественного выбора с поддержкой DataTable. Значение по умолчанию: «новый», который удаляет предыдущие выборы, режим «добавить» сохраняет предыдущие выборы, такие же, как выбор строки с щелчком мыши, когда 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

Вместо того, чтобы отмечать это, я должен указать, что приведенный выше код по-прежнему влияет на одну и ту же проблему, но локализует ее в одну ячейку. – Charlie

Смежные вопросы