質問:celltable / datagridにさらに行を追加するにはどうすればよいですか?テーブルの現在のサイズを超えて、テーブルに直接行を追加する方法が必要だと思います。
実際、上記のステートメントは、質問を効率的かつ簡潔に完了します。
冗長情報
ただし、削除トリガーを回避するために、次の情報が提供されています。これは、答えを知っていれば問題をすでに知っているため、冗長です。ただし、以下を読む必要がある場合は、回答する前に、問題を調査して理解するためにかなりの時間を費やしてください。したがって、以下の情報は、トリガーを回避するためだけのものです。
テーブルに現在N行がある場合、setRowData(newRows)は、N番目の行までのテーブルにnewRowsのみを配置します。
配置される行数がテーブルの最後の行インデックスを超えていることを検出すると、テーブル全体が新しい行に置き換えられ、古い行が削除されます。
ページの先頭に行を配置していないことが検出されると、テーブル全体が新しい行に置き換えられます。setPageStart(getRowCount())があることを回避します。
私は次のことを試しました。これは、テーブルを新しい行に置き換え、古い行を破棄するだけです。
public void appendRecords(T list)
{
int n = getRowCount();
setRowCount(n + list.size());
setPageStart(n);
setRowData(n, list);
}
私の唯一の頼みの綱は、データプロバイダーにリストを記憶させることであり、リストへの変更はデータプロバイダーを介して行われ、変更が発生するたびにデータプロバイダーがテーブルのリストを置き換えます。