Удаленный сеточный фильтр в gxt 2.2.5. Я не могу выполнить удаленную фильтрацию в сетке gxt

#grid #gxt

#сетка #gxt

Вопрос:

 StringFilter reportNameFilter=new StringFilter("reportName");
    StringFilter categoryFilter=new StringFilter("category");

    GridFilters gridFilters=new GridFilters();
    gridFilters.setLocal(true);

    gridFilters.addFilter(categoryFilter);
    gridFilters.addFilter(reportNameFilter);

    grid = new Grid<BeanModel>(store, columns);
    grid.setWidth(550);
    grid.setHeight(320);
    grid.setBorders(false);
    grid.setStripeRows(true);
    grid.setColumnLines(true);
    grid.addPlugin(gridFilters);
  

Комментарии:

1. У меня есть 10 страниц, фильтрация происходит на всех страницах, но записи отображаются на всех страницах. Он должен отображать все отфильтрованные данные на одной странице. Версия Gxt 2.2.5

Ответ №1:

Мы можем переопределять события.Деактивировать и события.Активируйте фильтры сетки. И перенастроить сетку в соответствии с размером страницы, BasePagingLoader

pagingToolBar.setPageSize(getReportNames().size());
pagingToolBar.bind(loader);
loader.load(0, getReportNames().size() );
tempProxy = new PagingModelMemoryProxy(store.getModels());
tempLoader = new BasePagingLoader<PagingLoadResult<BeanModel>>(tempProxy);
tempLoader.setRemoteSort(true);
tempStore = new ListStore<BeanModel>(tempLoader);
pagingToolBar.setPageSize(Integer.parseInt(listbox.getValue(listbox.getSelectedIndex())));
pagingToolBar.bind(tempLoader);
tempLoader.load(0, Integer.parseInt(listbox.getValue(listbox.getSelectedIndex())));
grid.reconfigure(tempStore, buildColumnModel());
pagingToolBar.refresh();