You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

GridApplyFilterWhenScrolledDown.java 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package com.vaadin.tests.components.grid;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import com.vaadin.data.ValueProvider;
  5. import com.vaadin.data.provider.DataProvider;
  6. import com.vaadin.server.VaadinRequest;
  7. import com.vaadin.tests.components.AbstractTestUI;
  8. import com.vaadin.ui.Button;
  9. import com.vaadin.ui.Grid;
  10. public class GridApplyFilterWhenScrolledDown extends AbstractTestUI {
  11. @Override
  12. protected void setup(VaadinRequest request) {
  13. Grid<String> grid = new Grid<>();
  14. grid.addColumn(ValueProvider.identity()).setId("Name")
  15. .setCaption("Name");
  16. List<String> data = new ArrayList<>();
  17. for (int i = 0; i < 1000; i++) {
  18. data.add("Name " + i);
  19. }
  20. data.add("Test");
  21. grid.setItems(data);
  22. addComponent(grid);
  23. Button button = new Button("Filter Test item",
  24. event -> filter(grid.getDataProvider(), data));
  25. addComponent(button);
  26. }
  27. private void filter(DataProvider<String, ?> dataProvider,
  28. List<String> data) {
  29. String last = data.get(data.size() - 1);
  30. data.clear();
  31. data.add(last);
  32. dataProvider.refreshAll();
  33. }
  34. }