2012-06-14 28 views
6

Tôi có một DataGrid mà tôi muốn phát triển theo chiều dọc (chiều cao) khi tôi thêm hàng vào nó. Các widget để thêm vào lưới điện nên được trực tiếp bên dưới DataGrid. Làm thế nào để tôi làm điều này?GWT DataGrid Sizing

Câu trả lời cho "Chiều cao tự động của DataGrid GWT" quá tối nghĩa (nếu đó là một). Tôi đã thử đặt DataGrid trong ResizeLayoutPanel, nhưng nó chỉ hiển thị tiêu đề datagrid.

+3

Tôi có thể hỏi tại sao bạn sử dụng DataGrid nếu bạn không muốn nó có kích thước cố định (hoặc kích thước bởi môi trường thay vì theo nội dung)? Vấn đề của bạn có được giải quyết bằng một CellTable không? (nếu bạn muốn cuộn ngang, có giải pháp với CellTable quá) –

+1

Tôi đã đi với DataGrid như tôi thích rằng các tiêu đề được ghim không giống như CellTable. – Joel

+1

Có. Đó là lý do tại sao tôi sử dụng DataGrid, các tiêu đề là pinnable (ở lại tại chỗ). CellTables không thể được ghim như xa như tôi biết. – Joel

Trả lời

1

Đối với những người vẫn đang gặp khó khăn với CellTable (tự động chiều cao, máy nhắn tin luôn dưới dòng cuối cùng) và DataGrid (tiêu đề cố định nhưng chiều cao phải được cố định và máy nhắn tin sẽ ở cùng một vị trí ngay cả khi bạn có một dòng dữ liệu) .

Đừng quên họ mở rộng các lớp giống nhau: AbstractCellTable

Vì vậy, bạn có thể thích ứng với mã của bạn một cách dễ dàng (Lưu ý TableType chỉ là một enum Tôi tạo ra):

if (tableType == TableType.CELLTABLE) { 
     // CellTable 
     CustomTableWidgetCellTableResource resource = GWT.create(CustomTableWidgetCellTableResource.class); 
     table = new CellTable<T>(10, resource); 
    } else { 
     // DataGrid 
     CustomTableWidgetDataGridResource resource = GWT.create(CustomTableWidgetDataGridResource.class); 
     table = new DataGrid<T>(10, resource); 
     table.setHeight("470px"); // Default height 
    }