2011-10-24 47 views
8

Tôi đang cố gắng chèn dữ liệu gwt trong ứng dụng của mình. Nếu tôi thiết lập một chiều cao tĩnh (500px) mọi thứ hoạt động tốt đẹp. Nhưng tôi muốn làm cho dataGrid tự động điều chỉnh kích thước màn hình. Với chiều cao 100% tôi nhận được một màn hình trống. Tôi cũng đã cố gắng đặt datagrid vào một resizeLayoutPanel với cùng một kết quả.Chiều cao tự động GWT DataGrid

mẹo nào?

Trả lời

19

Tất cả RequiresResize widget nên được một kích thước rõ ràng, hoặc được thêm vào ProvidesResize widget (lên đến một một widget RootLayoutPanel hoặc ProvidesResize với một kích thước rõ ràng; ngoại lệ duy nhất là ResizeLayoutPanel mà không thực hiện ProvidesResize bởi vì nó không thể tôn trọng hợp đồng cho các tiện ích đầu trang và chân trang của nó, nhưng nó chắc chắn tôn vinh nó cho tiện ích con trung tâm).

Câu hỏi đặt ra là: bạn đã thêm DataGrid và/hoặc ResizeLayoutPanel vào đâu?

+0

Điểm quan trọng là ... được thêm vào tiện ích ProvidesResize (tối đa RootLayoutPanel). Bảng điều khiển chính là HTMLPanel và nó không phải là một tiện ích ProvidesResize. – Jose

+3

Bạn nên "chấp nhận" câu trả lời thay vì thay đổi tiêu đề câu hỏi thành "giải quyết". Xem http://stackoverflow.com/faq#howtoask –

3

Thomas Broyer là chính xác. Tuy nhiên tôi tìm thấy một cái gì đó quan tâm liên quan đến DataGrid (nó không xảy ra trong CellTable). Nếu bạn đang sử dụng DeckPanel và nếu bạn đang tạo DataGrid trên Bảng điều khiển ẩn của DeckPanel này, thì dữ liệu của DataGrid sẽ không hiển thị nếu bạn hiển thị bảng điều khiển của DataGrid. Tôi chỉ tìm thấy một giải pháp thay thế: gọi addDataDisplay của DataProvider của bạn "sau" bảng điều khiển được hiển thị.

+0

Trong hầu hết các trình duyệt, chiều cao và chiều rộng của div ẩn (ví dụ: hiển thị theo kiểu: không có) không có sẵn để bố trí phần còn lại của trang. Có những thủ thuật để làm việc xung quanh nó, vì vậy tôi đoán CellTable đã thực hiện nó, trong khi DataGrid không (hoặc không thể vì nó phức tạp hơn một chút) –

+0

Xác nhận rằng điều này cũng ảnh hưởng đến TabLayoutPanel nơi DataGrid không nằm trên tab mặc định. – hiddenwaffle

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