2012-06-14 12 views
6

Mam DataGrid, które chcę rozwijać pionowo (wysokość), jak dodać wiersze do niego. Widżet do dodania do siatki powinien znajdować się bezpośrednio pod DataGrid. Jak mam to zrobic?GWT DataGrid Sizing

Odpowiedź na "Automatyczną wysokość GWT DataGrid" była zbyt mało znana (jeśli takowa była). Próbowałem umieścić DataGrid w ResizeLayoutPanel, ale pokazuje tylko nagłówek datagrid.

+3

Czy mogę zapytać, dlaczego jesteś korzystasz z DataGrid, jeśli nie chcesz, aby był on stały (lub zmieniany przez środowisko, a nie przez zawartość)? Czy Twój problem nie został rozwiązany przez CellTable? (jeśli chcesz przewijać w poziomie, są również rozwiązania z CellTable) –

+1

Poszedłem z DataGrid, ponieważ podobało mi się, że nagłówki są przypięte w przeciwieństwie do CellTable. – Joel

+1

Tak. Dlatego użyłem DataGrid, nagłówki są pinnable (pozostań na miejscu). CellTables nie można przypiąć z tego co wiem. – Joel

Odpowiedz

1

Dla osób, które wciąż zmagają się z CellTable (automatyczna wysokość, pager zawsze pod ostatnią linią) i DataGrid (stały nagłówek, ale wysokość powinna być stała, a pager pozostanie w tym samym miejscu, nawet jeśli masz jedną linię danych) .

Nie zapomnij rozciągają się one tą samą klasę: AbstractCellTable

Więc można łatwo przystosować swój kod (Uwaga TABLETYPE jest po prostu enum stworzyłem):

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 
    }