2014-05-11 36 views
0

這裏我有itemDetailTable如何強制cellTable顯示所有數據(GWT)?

CellTable<List<String>> itemDetailTable = new CellTable<List<String>>(); 
ListDataProvider<List<String>> dataProvider = new ListDataProvider<List<String>>(); 
dataProvider.addDataDisplay(itemDetailTable); 
final ScrollPanel itemDetailScrollPanel=new ScrollPanel(); 
FlowPanel itemDetailFlowPanel=new FlowPanel(); 
itemDetailFlowPanel.add(itemDetailTable); 
itemDetailScrollPanel.add(itemDetailFlowPanel); 

現在我List<List<String>>有16行,但是,跑了以後它顯示錶15行只。如果我想查看第16行,那麼需要點擊表格的最後一個單元格(表格右下角的單元格)&進入向下箭頭鍵,那麼它將顯示記錄16

如果我使用Simplepager

SimplePager itemDetailPager = new SimplePager(); itemDetailPager.setDisplay(itemDetailTable);

那麼將有2頁,第一頁有15條記錄,並在第二頁有1個記錄。

這是不正確的,因爲我希望表一次顯示所有記錄,不會隱藏任何記錄。

有人說可能是因爲我使用List<String> &這是造成這個問題,但我不知道如果這是主要原因。

但是,如果我只有14條記錄,那麼它顯示所有14條記錄沒有任何問題。

SO如何解決它?

回答

2

嘗試任何一個

只是通過頁面尺寸,同時構建CellTable是構造一個表給定的頁面大小。

int pageSize=16; 
CellTable<List<String>> itemDetailTable = new CellTable<List<String>>(pageSize); 

使用CellTable#setPageSize()設置每頁行數和刷新視圖。

CellTable<List<String>> itemDetailTable = new CellTable<List<String>>(); 
itemDetailTable.setPageSize(16); 

注:使用GWT.create()構建SimplePager.Resources物體,如下圖所示:

SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class); 
// pass the parameters as per your requirement 
SimplePager pager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, true); 
+0

我們可以做到這一點動態? pagesize是動態的,不是固定的 – Tum

+0

調用方法setPageSize()'動態*將設置每頁的行數並刷新視圖。* – Braj

+0

setPageZie(int)?沒有setPageSize(),但setPageSize(int) – Tum