Search code examples
vaadinvaadin7

setPageLength(10) is not working in vaadin pagedTable


I am using vaadin paged table in my program. I want to set the default page length of my paged table to 10, For that I have used pagedTable.setPageLength(10); function but it is not working. Program show the default page length as 25.

Following is my code:

b.addClickListener(new Button.ClickListener() {
  public void buttonClick(ClickEvent event) {
    i++;
    PagedTable pt = createTable();
    VerticalLayout t2 = new VerticalLayout();
    t2.addComponent(pt);
    t2.addComponent(pt.createControls());
    tab.addTab(t2, ""+i);
    tab.getTab(t2).setClosable(true);
    tab.setSelectedTab(i);

    tab.setCloseHandler(new CloseHandler() {
      public void onTabClose(TabSheet tabsheet,Component tabContent) {
        Tab tab = tabsheet.getTab(tabContent);
        Notification.show("Closing " + tab.getCaption());
        tabsheet.removeTab(tab);
        i--;
      }
    });
  }

  private PagedTable createTable() {
    PagedTable pagedTable = new PagedTable("Paged Table");
    pagedTable.setContainerDataSource(createContainer());
    pagedTable.setWidth("80%");
    pagedTable.setPageLength(10);
    pagedTable.setImmediate(true);
    pagedTable.setSelectable(true);
    pagedTable.setAlwaysRecalculateColumnWidths(false);
    pagedTable.setColumnHeaders(new String[] {"Country", "Country Code"});
    return pagedTable;
  }

Above is the some part of my code. please help me...


Solution

  • Call method setPageLength(10) after calling createControls().