В настоящее время у меня есть CellTable
, который я расширил фильтрами/поисковыми вызовами/сортировкой. Я также работаю над добавлением дополнительных функций.Строки заполнителя GWT в CellTable
Одна вещь, которая меня пугает, - это когда вы устанавливаете лимит для страницы, например, 10. Если объект не имеет 10 строк и имеет только 5, и вы переключаетесь между ними, тогда таблица будет прыгать вверх и вниз, если они расположены в центре.
Есть ли элегантный способ, когда для параметра pageSize установлено значение 10, а если в таблице меньше 10 строк, будут добавлены пустые строки?
Способы, которые я пробовал до сих пор, влияют на мою фильтрацию/сортировку/пейджинг, чего я не хочу.
EDIT 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);
}
};
эй я добавил код, который показывает, как я это сделал в настоящее время. Но это влияет на пейджинг, показывая 1-10, и это влияет на мой класс фильтра. Я думал, может быть, есть какой-то способ обойти это без обработки данных в таблице? – Sheogora
Способ, который я предложил, не повлияет на поисковый вызов. Все, что вы делаете, это добавить нули, когда диапазон не выполнен. Вам нужно убедиться, что ваши столбцы знают, что делать с нулями (отображать пустую ячейку). – enrybo
Я пробовал свой путь, и пейджер все равно скажет 1-10 даже если есть 5 строк с фактическими данными.Простой пейджер подключен к таблице ячеек, так как сколько угодно строк будет их считать? – Sheogora