GWT - Как добавить больше строк в таблицу ячеек / таблицу данных - PullRequest
0 голосов
/ 30 декабря 2011

Вопрос: Как добавить больше строк в 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 Ответ

1 голос
/ 30 декабря 2011

setRowData(list) является точным эквивалентом setRowCount(list.size()); setRowData(0, list); (вызов setRowCount здесь для уменьшения таблицы, если необходимо, потому что setRowData всегда будет расширять ее, чтобы данные соответствовали).

Если вы хотите добавить несколько строк, то setRowData список новых строк в последнем индексе (getRowCount).

...