Tôi đang cố gắng triển khai multisort trên Primeface datatable. Chúng tôi đang sử dụng Primefaces v3.5. Tôi đã tạo một phương thức tải mới trong LazyLoadClass lấy tham số List of SortMeta>.Sắp xếp thứ tự ban đầu cho PrimeFaces có thể định dạng với multisort
Nhưng tôi gặp sự cố trong tải ban đầu của bảng. Danh sách SortMeta> là null khi phương thức tải được gọi. Tôi cũng đã thử mà không chỉ định sortBy ban đầu và sortOrder cho datatable. Trong cả hai trường hợp, kết quả là như nhau.
Thấy rằng chúng tôi có lớp SortMeta mới này để hỗ trợ đa nhóm, tôi nghi ngờ rằng cách để chỉ định trường sắp xếp ban đầu và thứ tự cũng sẽ thay đổi. Nhưng tôi không thể tìm thấy bất kỳ ví dụ nào ở đâu để chỉ ra sự khác biệt. Hướng dẫn 3.5 không đề cập đến bất kỳ sự khác biệt nào.
Tại sao chúng tôi có thể lấy Danh sách SortMeta> là rỗng? Bất kỳ con trỏ trên mã ví dụ nơi multisort được sử dụng với Lazyload?
Bạn cần cung cấp danh sách SortMeta để sắp xếpBởi. –
OK. Trước đó chúng tôi đã đưa ra String của tên cột, nhưng bây giờ, như tôi hiểu, chúng tôi đã ràng buộc nó vào một đối tượng List trên bean. Cảm ơn! Sẽ thử điều này. –
@CagatayCivici Tôi đã thử '' và tôi có đã tạo preSortOrder là 'private void buildSortOrder() { SortMeta sm1 = new SortMeta(); \t \t sm1.setSortField ("resolveDateTime"); m1.setSortOrder (SortOrder.DESCENDING); preSortOrder.add (sm1); \t \t \t } 'nhưng một NPE được ném bcs phương thức encodeColumnHeader trong DataTableRenderer đang truy cập UIColumn dưới dạng' sortIcon = resolveDefaultSortIcon (columnSortByVe, meta.getColumn(). GetValueExpression ("sortBy"), meta.getSortOrder(). Name()); ' –