私は現在CellTable
、フィルター/ページング/ソートで拡張した を持っています。私もより多くの機能を追加することに取り組んでいます。
ただし、1 つのページの制限をたとえば 10 に設定すると、1 つの問題が発生します。オブジェクトに 10 行ではなく 5 行しかない場合、それらを切り替えると、配置されている場合、テーブルが上下にジャンプします。真ん中に。
pageSize が 10 に設定されている場合、テーブルの行数が 10 未満の場合に空の行が追加されるエレガントな方法はありますか?
これまでに試した方法は、フィルタリング/ソート/ページングに影響しますが、これは望ましくありません。
編集1:
final AsyncDataProvider<Row> provider = new AsyncDataProvider<Row>() {
@Override
protected void onRangeChanged(HasData<Row> display) {
int start = display.getVisibleRange().getStart();
int end = start + display.getVisibleRange().getLength();
end = end >= rows.getFilterList().size() ? rows.getFilterList().size() : end;
List<Row> sub = rows.getFilterList().subList(start, end);
System.out.println("Checking if extra rows needed: " +
table.getVisibleItems().size());
for(int i = table.getVisibleItems().size(); i<10; i++){
System.out.println("ADDED EMPTY ROW");
sub.add(new Row());
}
updateRowData(start, sub);
}
};