2010-11-17 79 views
2

我在我的應用程序中使用「在網格上」編輯的CellTable。編輯現有的行工作正常。不過,我現在正在努力支持在表格底部添加一個新行,並且非常好用。做這個的最好方式是什麼?如何將一行添加到CellTable?

我(哈克)解決方案:

我的代碼,響應RangeChangeEvent的加載數據保持到桌子上設置的最後一個頁面的引用。要添加一個新行,我將一個對象添加到此列表的末尾,並使用擴展列表執行table.setRowData。我必須確保通過從列表中刪除元素來保持表格的頁面大小。在數據集的最後一頁上有很多問題。

我原以爲這是一個常見的用例。

也許我需要創建我自己的中間集合的行和頁面數據+只從服務器獲取真正需要的新行?這仍然會改變網格頁面大小以添加新行。

+0

您的解決方案保持對錶/數據的引用,然後更新數據並調用table.setRowData()...它似乎是給出cellTable的API的唯一解決方案。 – 2011-05-12 20:34:17

回答

3

這就是我如何做到這一點。

CellTable<Style> table = new CellTable<Style>(); 
List<Style> t = new ArrayList<Style>(); 
//add some data to List "t" and populate the table. 
table.setRowCount(t.size(), true); 
table.setRowData(0, t); 
//everytime you want to add row, first add data to List "t" and populate the table again.