Мне удалось это сделать, вот что я сделал:
Сначала я определил прокси и загрузчик для моих данных вместе с пейджинговой панелью инструментов:
private PagingModelMemoryProxy proxy;
private PagingLoader<PagingLoadResult<ModelData>> loader;
private PagingToolBar toolBar;
Далеесоздание каждого из них, инициализация с пустым списком ArrayList.
proxy = new PagingModelMemoryProxy(new ArrayList<EquipmentModel>());
loader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy);
loader.setRemoteSort(true);
toolBar = new PagingToolBar(100);
toolBar.bind(loader);
loader.load(0, 100);
Наконец, в моем представлении есть метод set, который вызывается после завершения вызова AJAX, но вы можете запустить его где угодно.Вот весь мой метод set, Equipment и EquipmentModel - это моя база данных и модели просмотра соответственно.
public void setEquipmentData(List<Equipment> data)
{
Collections.sort(data);
// build a list of models to be loaded
List<EquipmentModel> models = new ArrayList<EquipmentModel>();
for (Equipment equipment : data)
{
EquipmentModel model = new EquipmentModel(equipment);
models.add(model);
}
// load the list of models into the proxy and reconfigure the grid to
// refresh display.
proxy.setData(models);
ListStore<EquipmentModel> equipmentStore = new ListStore<EquipmentModel>(loader);
equipmentGrid.reconfigure(equipmentStore, equipmentColumnModel);
loader.load(0, 100);
}
Для меня ключевым моментом было воссоздание магазина с тем же загрузчиком, модель столбца была предварительно созданаи используется повторно.