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.

SetPageFirstItemLoadsNeededRowsOnly.java 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package com.vaadin.tests.components.table;
  2. import java.io.Serializable;
  3. import java.util.List;
  4. import com.vaadin.server.VaadinRequest;
  5. import com.vaadin.tests.components.AbstractReindeerTestUI;
  6. import com.vaadin.ui.Label;
  7. import com.vaadin.ui.VerticalLayout;
  8. import com.vaadin.v7.data.util.BeanContainer;
  9. import com.vaadin.v7.ui.Table;
  10. @SuppressWarnings("serial")
  11. public class SetPageFirstItemLoadsNeededRowsOnly
  12. extends AbstractReindeerTestUI {
  13. /*
  14. * (non-Javadoc)
  15. *
  16. * @see com.vaadin.tests.components.AbstractTestUI#setup(com.vaadin.server.
  17. * VaadinRequest)
  18. */
  19. @Override
  20. protected void setup(VaadinRequest request) {
  21. final VerticalLayout layout = new VerticalLayout();
  22. addComponent(layout);
  23. final Label label = new Label("");
  24. addComponent(label);
  25. BeanContainer<String, Bean> beans = new BeanContainer<String, Bean>(
  26. Bean.class) {
  27. @Override
  28. public List<String> getItemIds(int startIndex, int numberOfIds) {
  29. label.setValue("rows requested: " + numberOfIds);
  30. return super.getItemIds(startIndex, numberOfIds);
  31. }
  32. };
  33. beans.setBeanIdProperty("i");
  34. for (int i = 0; i < 2000; i++) {
  35. beans.addBean(new Bean(i));
  36. }
  37. final Table table = new Table("Beans", beans);
  38. table.setVisibleColumns("i");
  39. layout.addComponent(table);
  40. table.setCurrentPageFirstItemIndex(table.size() - 1);
  41. }
  42. /*
  43. * (non-Javadoc)
  44. *
  45. * @see com.vaadin.tests.components.AbstractTestUI#getTestDescription()
  46. */
  47. @Override
  48. protected String getTestDescription() {
  49. return "Only cached rows and rows in viewport should be rendered after "
  50. + "calling table.setCurrentPageFirstItemIndex(n) - as opposed to all rows "
  51. + "between the previous position and new position";
  52. }
  53. /*
  54. * (non-Javadoc)
  55. *
  56. * @see com.vaadin.tests.components.AbstractTestUI#getTicketNumber()
  57. */
  58. @Override
  59. protected Integer getTicketNumber() {
  60. return 14135;
  61. }
  62. public class Bean implements Serializable {
  63. private Integer i;
  64. public Bean(Integer i) {
  65. this.i = i;
  66. }
  67. public Integer getI() {
  68. return i;
  69. }
  70. public void setI(Integer i) {
  71. this.i = i;
  72. }
  73. }
  74. }