Эти два примера бесполезны и сбивают с толку.
Использование ListHandlers и DataProviders также не слишком полезно для иллюстрации того, как использовать таблицы Cell / Grid.
Примеры скрывают и скрывают одну простую характеристикутаблиц GWT Cell / Grid - вам просто нужно заменять и подавать список в таблицу каждый раз, когда данные изменяются в любом случае.
Использование примеров ListHandlers, Async-обработчиками и DataProviders усложняет довольно простой процесс:бросая в кучу пушистую бесполезную абстрактную элегантность.По сути, эти абстрактные и отвратительные структуры сами выталкивают и отбрасывают записи в список таблиц.Не обращайте внимания на использование Таймера.
Можно также взять список столов за булл-рога и сделать это самостоятельно - намного проще.Я не могу точно вспомнить, как я это делаю, потому что у меня нет при себе кода.
Что вам нужно сделать, это сохранить буферную копию списка записей.Это список записей, которые должны отображаться в таблице.
Неважно, выполняете ли вы асинхронную или иным образом - любое изменение данных, которое вы хотите внести, должно быть сделано в этой буферной копии.Ваш GWT-RPC должен обновить этот буфер.
Когда таблица запрашивает сортировку по возрастанию, ваш компаратор / фильтр создаст восходящую копию буферизованного списка для замены данных в таблице с помощью setRowData.Аналогично, когда таблица запрашивает нисходящую или специализированную фильтрацию.
Использование DataProvider полезно, если вы хотите, чтобы он управлял подкачкой для вас.Намного проще работать с GWT-RPC самостоятельно.Предполагается, что DataProvider обрабатывает сортировку и фильтрацию, запрашивая у сервера отправку ему нового списка, который сортируется / фильтруется в соответствии с пожеланиями таблицы.Зачем вам потреблять сетевой трафик, позволяя серверу управлять вашей фильтрацией / сортировкой, если только у вас нет более 10 страниц записей.
Так что для простого примера эксперимента с 50 записями управляйте списком буферов самостоятельно.