2016-09-01 15 views
7

Trong dự án trước đây của tôi, tôi đã sử dụng BeanItemContainer và một bảng với GeneratedColumns để chỉ hiển thị thành phần tùy chỉnh hiển thị kết quả tìm kiếm, như google. Tiêu đề, ngày tháng, nội dung theo chiều dọc. Như khủng khiếp như nó đã được (bảng) nó làm việc.Thành phần List/Repeater cho Vaadin

Bây giờ tôi muốn sử dụng thành phần Lưới cho một dự án mới, với cùng một mục tiêu. Cột sẽ được tạo và chứa thành phần tùy chỉnh.

Điều này có hoạt động với Lưới không? có cái gì tốt hơn, giống như một danh sách hoặc thành phần lặp lại có sẵn? Bất kỳ ví dụ về một cột đơn với thành phần tùy chỉnh?

Dường như Vaadin cau mày về bất kỳ điều gì khác ngoài dữ liệu đơn giản hoặc Trình kết xuất nút.

Cập nhật

Dường như thêm các thành phần không làm việc ra khỏi hộp với Grid 7.5+

Ngoài ra, các tế bào Lưới muốn được chỉ có fixed hight

ComponentRederer Add-on thành phần tế bào hỗ trợ, tuy nhiên chiều cao cố định vẫn là một vấn đề.

mẫu mã:

public class Result { 
     String title; 
     Date date; 
     URL url; 
     String description; 
     List<String> tags; 

     public Result(){} 

} 

BeanItemContainer<Result> resultContainer = fetchResults(searchTerm); 

tôi cũng sử dụng một Lazy container quá, beanitem sử dụng cho đơn giản.

sau đó tôi có một RecordResultComponent rằng xây dựng bố cục của một kết quả hồ sơ duy nhất trong cách bố trí sau:

Title(link with Url) 
Date 
Description 
tag1 tag2 tag3 ... 
+2

Tại sao nên sử dụng bảng/lưới và không chỉ lặp qua danh sách mặt hàng của bạn, tạo một phiên bản thành phần tùy chỉnh cho từng mục và thêm chúng vào [bố cục dọc] (https://vaadin.com/docs/ -/part/framework/layout/layout-orderedlayout.html) (hoặc có thể là [layout lưới] (https://vaadin.com/docs/-/part/framework/layout/layout-gridlayout.html))? – Morfic

+0

Tôi có một lượng lớn dữ liệu và muốn sử dụng các thành phần được hỗ trợ bởi vùng chứa. – steve

+0

lạ là bảng có thể hiển thị thành phần và lưới không nằm ngoài hộp. tôi đoán bạn cũng muốn hiển thị nhiều cột khác và không chỉ cột thành phần. nhưng nếu bạn không cần bất kỳ chức năng bảng nào như sắp xếp, bạn có thể sử dụng một verticallayout đơn giản. – d2k2

Trả lời

0

Bạn có thể sử dụng một lưới alongwith một GeneratedPropertyContainer.

Sau đó, bạn có thể sử dụng HtmlRenderer trên cột tùy chỉnh.

Tôi hy vọng điều đó sẽ hữu ích. :-)

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