2013-02-28 19 views
7

Trong dự án của tôi, tôi sử dụng datatable với <p:column selectionMode="multiple" /> để các mục nhập có thể được chọn nhiều bằng cách sử dụng hộp kiểm.Thủ tục có thể định dạng với lựa chọn hộp kiểm CHỈ

Tuy nhiên, khi người dùng nhấp vào một hàng, tất cả lựa chọn trước đó sẽ không được chọn và chỉ có hàng đó được chọn. Hành vi này là bất ngờ và gây phiền nhiễu. Tôi muốn vô hiệu hóa hành vi của rowSelect và rowUnselect khi nhấp vào hàng, nhưng có vẻ như tôi không có cách nào để làm nhưng lại hack nguồn datatable.js.

Có ai thực hiện điều này trước đây không? Cảm ơn bạn đã trả lời.

Sử dụng:

primefaces 3,5

cá móm 2.1.6

glassfish 3.1.2.2

+2

Cung cấp mã của bạn. Để chúng ta có thể tìm thấy lỗi hoặc sai lầm logic trong đó. –

+1

Ở đây mã của ông không quan trọng vì cùng một vấn đề đang xảy ra trong [tự giới thiệu] (http://www.primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf). Có vẻ như chỉ với hộp kiểm và không có nút radio. Tôi cũng muốn có được hành vi tương tự như OP đã đề cập. Có ai đã giải quyết điều đó không? –

Trả lời

11

Theo feature request này, tính năng này hiện được hỗ trợ trong các phiên bản Primefaces 5.0.3 & 5,1 bằng cách đơn giản thêm rowSelectMode = "checkbox" để DataTable.

Tài liệu tham khảo (PF 5.1):

tùy chọn Use rowSelectMode để tùy chỉnh hành vi mặc định trên hàng bấm vào một lựa chọn kích hoạt DataTable nhiều. Giá trị mặc định là "mới" xóa các lựa chọn trước đó, chế độ "thêm" giữ các lựa chọn trước đó giống như chọn một hàng có nhấp chuột khi metakey ở chế độ và "hộp kiểm" cho phép lựa chọn hàng chỉ với hộp kiểm.

+0

Cảm ơn, nó đã giúp tôi rất nhiều – SoftMolina

1

Đặt này trong trang của bạn, có thể giúp ngăn chặn sự lựa chọn khi bạn nhấp vào liên tiếp.

$(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

Thay vì đánh dấu điều này xuống, tôi nên chỉ ra rằng mã ở trên vẫn ảnh hưởng đến cùng một vấn đề, nhưng bản địa hóa nó thành một ô. – Charlie

Các vấn đề liên quan