2011-12-30 6 views
0

質問: セルテーブル/データグリッドにさらに行を追加するにはどうすればいいですか? テーブルの現在のサイズを超えてテーブルに行を直接追加する方法が必要だと思います。GWT - セルテーブル/データグリッドに行を追加する方法

実際には、上の文は、控えめで簡潔に質問を完了します。

あなたは答えを知っていたならば、あなたはすでに問題を知っているだろうので、冗長である

しかし、幸せ削除トリガを脱出するが、以下の情報が提供される冗長情報、。しかし、あなたが次のことを読む必要があるならば、答えを出す前に、問題を調査して理解するためにかなりの時間を費やすことになります。したがって、以下の情報は、幸せなトリガーを避けるためのものです。

テーブルに現在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にdataProviderに変更が生じ毎回テーブルのリストに代わるデータプロバイダ、throの行くだろうリストとリストへの変更を記憶させることです。

+0

詳細を指定してください。 –

答えて

1

setRowData(list)setRowCount(list.size()); setRowData(0, list);の、完全に同等である(ここでsetRowCount呼び出しが必要な場合は、データは内に収まるようにsetRowDataは常にそれを拡大していきますので、テーブルを縮小することです)。

いくつかの行を追加する場合は、setRowData最後のインデックス(getRowCount)の新しい行のリスト。

関連する問題