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);
}
Единственное, что я могу сделать, - позволить провайдеру данных запомнить список, и любое изменение в списке будет осуществляться через провайдер данных, где провайдер данных будет заменять список таблицы каждый раз, когда происходит изменение.
1 ответ
setRowData(list)
является точным эквивалентом setRowCount(list.size()); setRowData(0, list);
(setRowCount
Звоните здесь, чтобы уменьшить таблицу, если это необходимо, потому что setRowData
всегда будет расширять его, чтобы данные соответствовали).
Если вы хотите добавить несколько строк, то setRowData
список новых строк в последнем индексе (getRowCount
).