2012-06-13 42 views
5

Tôi đang hiển thị nhãn (ngôn ngữ cụ thể) cho các giá trị trong một cột. Cột có thể sắp xếp và nhãn JSF khác với giá trị cơ sở dữ liệu. Tôi đang sử dụng một nguyên tố có thể định vị được với phân trang.Cách sắp xếp theo nhãn JSF ở dạng có thể định dạng được

Làm cách nào để sắp xếp theo nhãn chứ không phải theo giá trị cơ sở dữ liệu? Có bất kỳ loại bản dịch nào có thể để tiêu chuẩn JPA của tôi biết về giá trị khác nhau không?

Sorting nó trong bộ nhớ không phải là một lựa chọn từ các tập dữ liệu có thể là rất lớn và tôi chỉ muốn hiển thị một tập hợp con (kích thước pagination là ví dụ 10 mặt hàng trên mỗi trang)

+0

bạn không thể sử dụng thuộc tính 'sortBy =" # {myRow.mylabel} "' của ' Daniel

+0

cảm ơn các đề xuất của bạn, tôi đã thử điều đó rồi. Nhưng nhãn không được lưu trữ trong cơ sở dữ liệu và đó là nơi sắp xếp diễn ra (tốt, trong câu lệnh được tạo). Vì vậy, vấn đề là: cơ sở dữ liệu không biết nhãn mà người dùng nhìn thấy. tuy nhiên người dùng đang tự hỏi về hành vi phân loại sai – jonnie119

+0

vì vậy hãy đặt nhãn này vào đối tượng của bạn đại diện cho hàng trong bảng ..., y không? – Daniel

Trả lời

0

Tôi tin rằng nó không thể đạt được những gì bạn đang tìm kiếm.

Cơ sở dữ liệu của bạn không thể sắp xếp trừ khi nó biết giá trị là gì. Bạn có thể dịch nhãn và sắp xếp sau khi tải từ cơ sở dữ liệu, nhưng bạn không muốn sắp xếp trong bộ nhớ do ràng buộc tài nguyên.

Giải pháp tốt nhất là triển khai giải pháp bản địa hóa trong cơ sở dữ liệu. Sau đó, db của bạn có thể tra cứu bản dịch cho mỗi nhãn và áp dụng sắp xếp. Cá nhân tôi tin rằng đây là cách để đi khi bản địa hóa bất kỳ ứng dụng nào vì nó cho phép người dùng cuối dễ dàng dịch. Thậm chí bạn có thể viết nhà cung cấp gói tài nguyên Java thực hiện tra cứu db thay vì tham chiếu đến các bó hệ thống tập tin.

0

Có một ví dụ về lazyload đây:

Bạn có thể viết loại tùy chỉnh theo phương thức từ liên kết đó.

+0

Có anyway bạn có thể sao chép một số mã từ bài viết đó vào câu trả lời của bạn? Nếu không, nếu liên kết biến mất, câu trả lời của bạn sẽ trở thành vô ích đối với bất kỳ ai khác trong tương lai. – slm

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