2011-12-30 72 views
0

問題: 如何將更多行添加到celltable/datagrid? 我認爲必須有一種方法可以直接將表追加到超出當前表的大小的表。GWT - 如何將更多行添加到celltable/datagrid

實際上,上面的陳述簡潔而簡潔地完成了這個問題。

冗餘信息

但是,爲了躲避刪除觸發幸福的,提供以下信息,這是多餘的,因爲如果你知道答案,你就已經知道了問題。但是,如果您需要閱讀以下內容,我寧願在回答之前投入大量時間來調查和理解問題。因此,以下信息僅用於避免觸發快樂。

如果表格當前有N行,setRowData(newRows)只會將newRows放到第N行的表中。

如果它檢測到要放置的行數超過表的最後一行索引,它將用新行替換整個表,並刪除舊行。

如果它檢測到您沒有將行放在頁面的開始位置,它將用新行替換整個表格。爲了避免你有setPageStart(getRowCount())。

我曾試過以下,它只是用新行替換表,丟棄舊的。

public void appendRecords(T list) 
{ 
    int n = getRowCount(); 
    setRowCount(n + list.size()); 
    setPageStart(n); 
    setRowData(n, list); 
} 

我唯一的辦法就是讓數據提供程序記憶列表,向列表中的任何改變都會去救援人員到場dataProvider中,其中數據提供程序將每次更換髮生變化表的列表。

+0

詳細說明或不。 – 2011-12-30 17:30:32

回答

1

setRowData(list)setRowCount(list.size()); setRowData(0, list);完全等效(在setRowCount來電來訪是如果需要收縮表,因爲這樣數據符合在setRowData總會展開)。

如果您想追加一些行,然後setRowData最後一個索引(getRowCount)處的新行列表。