Example usage for org.apache.wicket.markup.repeater.data ListDataProvider ListDataProvider

List of usage examples for org.apache.wicket.markup.repeater.data ListDataProvider ListDataProvider

Introduction

In this page you can find the example usage for org.apache.wicket.markup.repeater.data ListDataProvider ListDataProvider.

Prototype

public ListDataProvider(List<T> list) 

Source Link

Usage

From source file:com.aplombee.examples.AjaxLinkPage.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();

    IDataProvider<Integer> data = new ListDataProvider<Integer>(list);
    WebMarkupContainer numbers = new WebMarkupContainer("numbers"); //parent for quickview
    numbers.setOutputMarkupId(true); //needed for ajax
    final QuickView<Integer> number = new QuickView<Integer>("number", data, new ItemsNavigationStrategy()) {
        @Override//from   w  w  w  .  j a va  2s. c  om
        protected void populate(Item<Integer> item) {
            item.add(new Label("display", item.getModel()));
        }
    };
    numbers.add(number);
    add(numbers);

    AjaxLink addLink = new AjaxLink("addLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(list.size() - 1) + 1;
            list.add(newObject);
            number.addNewItems(newObject); //just enough to create a new row at last
        }

    };
    addLink.setOutputMarkupPlaceholderTag(true);
    add(addLink);

    AjaxLink addAtStartLink = new AjaxLink("addAtStartLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(0) - 1;
            list.add(0, newObject);
            number.addNewItemsAtStart(newObject); //just enough to create a new row at start
        }

    };
    addAtStartLink.setOutputMarkupPlaceholderTag(true);
    add(addAtStartLink);
}

From source file:com.aplombee.examples.AjaxLinkPageWithBoundaries.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();
    IDataProvider<Integer> data = new ListDataProvider<Integer>(list);
    WebMarkupContainer numbers = new WebMarkupContainer("numbers"); //parent for quickview
    Component start, end;/*from   ww w .j a v  a2 s .co  m*/
    numbers.add(start = new Label("start").setOutputMarkupPlaceholderTag(true));
    numbers.add(end = new Label("end").setOutputMarkupPlaceholderTag(true));

    numbers.setOutputMarkupId(true); //needed for ajax
    final QuickView<Integer> number = new QuickView<Integer>("number", data, new ItemsNavigationStrategy(),
            start, end) {
        @Override
        protected void populate(Item<Integer> item) {
            item.add(new Label("display", item.getModel()));
        }
    };
    numbers.add(number);
    add(numbers);

    AjaxLink addLink = new AjaxLink("addLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(list.size() - 1) + 1;
            list.add(newObject);
            number.addNewItems(newObject); //just enough to create a new row at last
        }

    };
    addLink.setOutputMarkupPlaceholderTag(true);
    add(addLink);

    AjaxLink addAtStartLink = new AjaxLink("addAtStartLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(0) - 1;
            list.add(0, newObject);
            number.addNewItemsAtStart(newObject); //just enough to create a new row at start
        }

    };
    addAtStartLink.setOutputMarkupPlaceholderTag(true);
    add(addAtStartLink);

}

From source file:com.aplombee.examples.AjaxPagingNavigatorPage.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();
    IDataProvider<Integer> data = new ListDataProvider<Integer>(list);
    final int itemsPerRequest = 4;//rows created per request
    //quickview by default has DefaultReuseStrategy which works fine in case of paging
    QuickView<Integer> quickView = new QuickView<Integer>("number", data, itemsPerRequest) {
        @Override//from   w  w  w. ja  va 2s  .com
        protected void populate(Item<Integer> item) {
            item.add(new Label("display", item.getModel()));
        }
    };
    quickView.setReuseStrategy(new DefaultQuickReuseStrategy());
    WebMarkupContainer numbers = new WebMarkupContainer("numbers"); //don't forget adding quickview to parent with any ajax navigator
    numbers.add(quickView);
    numbers.setOutputMarkupId(true); //don't forget required when using ajax navigators
    add(numbers);
    AjaxPagingNavigator navigator = new AjaxPagingNavigator("navigator", quickView);
    add(navigator);
}

From source file:com.aplombee.examples.PageScrollBar.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();

    IDataProvider<Integer> data = new ListDataProvider<Integer>(list);
    final int itemsPerRequest = 14;//rows created per request
    //read more about {@see ItemsNavigationStrategy} ,it is one of provided strategy that can be used in
    //cases where new items has to be added without re-rendering QuickView
    quickView = new QuickView<Integer>("number", data, new ItemsNavigationStrategy(), itemsPerRequest) {
        @Override//from   w w w  .  j av a2s.c  o m
        protected void populate(Item<Integer> item) {
            item.add(new Label("display", item.getModel()));
        }
    };
    WebMarkupContainer numbers = new WebMarkupContainer("numbers"); //don't forget adding quickview to parent with any ajax navigator
    numbers.add(quickView);
    numbers.setOutputMarkupId(true); //don't forget required when using ajaxrownavigator

    add(new AjaxPageScrollEventBehavior() {
        @Override
        protected void onScroll(AjaxRequestTarget target) {
            addItemsForNextPage(quickView);
        }
    });
    add(numbers);

}

From source file:com.aplombee.examples.ParentScrollBar.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();
    IDataProvider<Integer> data = new ListDataProvider<Integer>(list);
    final int itemsPerRequest = 14;//rows created per request
    //read more about {@see ItemsNavigationStrategy} ,it is one of provided strategy that can be used in
    //cases where new items has to be added without re-rendering QuickView
    quickView = new QuickView<Integer>("number", data, new ItemsNavigationStrategy(), itemsPerRequest) {
        @Override//  w w  w  . j  a v a2 s.c  o  m
        protected void populate(Item<Integer> item) {
            item.add(new Label("display", item.getModel()));
        }
    };
    WebMarkupContainer numbers = new WebMarkupContainer("numbers"); //don't forget adding quickview to parent with any ajax navigator
    numbers.add(quickView);
    numbers.setOutputMarkupId(true); //don't forget required when using ajaxrownavigator
    add(numbers);
    numbers.add(new AjaxComponentScrollEventBehavior() {
        @Override
        protected void onScroll(AjaxRequestTarget target) {
            addItemsForNextPage(quickView);
        }
    });
}

From source file:com.aplombee.examples.QuickGridViewWithAjaxLink.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();

    IDataProvider<Integer> data = new ListDataProvider<Integer>(list);
    WebMarkupContainer numbers = new WebMarkupContainer("numbers"); //parent for quickview
    numbers.setOutputMarkupId(true); //needed for ajax
    final QuickGridView<Integer> number = new QuickGridView<Integer>("number", data,
            new ItemsNavigationStrategy()) {
        @Override/* w  w w .  j  a v a 2 s.  co m*/
        protected void populate(CellItem<Integer> item) {
            item.add(new Label("display", item.getModel()));
        }

        @Override
        protected void populateEmptyItem(CellItem<Integer> item) {
            item.add(new Label("display"));
        }
    };
    number.setColumns(2);
    numbers.add(number);
    add(numbers);

    AjaxLink addLink = new AjaxLink("addLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(list.size() - 1) + 1;
            list.add(newObject);
            int newObject2 = list.get(list.size() - 1) + 1;
            list.add(newObject2);
            List<Integer> newOnes = new ArrayList<Integer>();
            newOnes.add(newObject);
            newOnes.add(newObject2);

            number.addRows(newOnes.iterator());//just enough to add new rows and corresponding cells

        }

    };
    addLink.setOutputMarkupPlaceholderTag(true);
    add(addLink);

    AjaxLink addAtStartLink = new AjaxLink("addAtStartLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(0) - 1;
            list.add(0, newObject);
            int newObject2 = newObject - 1;
            list.add(0, newObject2);
            List<Integer> newOnes = new ArrayList<Integer>();
            newOnes.add(newObject2);
            newOnes.add(newObject);

            number.addRowsAtStart(newOnes.iterator());//just enough to add new rows  and corresponding cells

        }

    };
    addAtStartLink.setOutputMarkupPlaceholderTag(true);
    add(addAtStartLink);

}

From source file:com.aplombee.examples.QuickGridViewWithAjaxLinkAndBoundaries.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();

    IDataProvider<Integer> data = new ListDataProvider<Integer>(list);
    WebMarkupContainer numbers = new WebMarkupContainer("numbers"); //parent for quickview
    numbers.setOutputMarkupId(true); //needed for ajax
    Component start, end;//from   w  ww.  ja  v  a 2  s  .  com
    numbers.add(start = new Label("start").setOutputMarkupPlaceholderTag(true));
    numbers.add(end = new Label("end").setOutputMarkupPlaceholderTag(true));

    final QuickGridView<Integer> number = new QuickGridView<Integer>("number", data,
            new ItemsNavigationStrategy(), start, end) {
        @Override
        protected void populate(CellItem<Integer> item) {
            item.add(new Label("display", item.getModel()));
        }

        @Override
        protected void populateEmptyItem(CellItem<Integer> item) {
            item.add(new Label("display"));
        }
    };
    number.setColumns(2);
    numbers.add(number);
    add(numbers);

    AjaxLink addLink = new AjaxLink("addLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(list.size() - 1) + 1;
            list.add(newObject);
            int newObject2 = list.get(list.size() - 1) + 1;
            list.add(newObject2);
            List<Integer> newOnes = new ArrayList<Integer>();
            newOnes.add(newObject);
            newOnes.add(newObject2);

            number.addRows(newOnes.iterator());//just enough to add new rows and corresponding cells

        }

    };
    addLink.setOutputMarkupPlaceholderTag(true);
    add(addLink);

    AjaxLink addAtStartLink = new AjaxLink("addAtStartLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            int newObject = list.get(0) - 1;
            list.add(0, newObject);
            int newObject2 = newObject - 1;
            list.add(0, newObject2);
            List<Integer> newOnes = new ArrayList<Integer>();
            newOnes.add(newObject2);
            newOnes.add(newObject);

            number.addRowsAtStart(newOnes.iterator());//just enough to add new rows  and corresponding cells

        }

    };
    addAtStartLink.setOutputMarkupPlaceholderTag(true);
    add(addAtStartLink);

}

From source file:com.aplombee.examples.QuickGridViewWithAjaxPagingNavigator.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();
    IDataProvider<Integer> data = new ListDataProvider<Integer>(list);
    //quickview by default has DefaultReuseStrategy which works fine in case of paging

    gridView = new QuickGridView<Integer>("gv", data) {
        @Override/*w  w  w  . ja va  2s  .c  o m*/
        protected void populateEmptyItem(final CellItem<Integer> item) {
            item.add(new Label("label"));
        }

        @Override
        protected void populate(final CellItem<Integer> item) {
            item.add(new Label("label", item.getModel()));

        }
    };
    gridView.setColumns(10);
    gridView.setRows(5);
    WebMarkupContainer parent = new WebMarkupContainer("parent");
    parent.add(gridView);
    parent.setOutputMarkupPlaceholderTag(true);
    add(parent);
    AjaxPagingNavigator navigator = new AjaxPagingNavigator("nav", gridView);
    add(navigator);

}

From source file:com.aplombee.examples.QuickGridViewWithItemsNavigatorPage.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();
    IDataProvider<Integer> data = new ListDataProvider<Integer>(list);

    gridView = new QuickGridView<Integer>("gv", data, new ItemsNavigationStrategy()) {
        @Override/*from   w  w w  . j a v  a 2 s  .c o m*/
        protected void populateEmptyItem(final CellItem<Integer> item) {
            item.add(new Label("label"));
        }

        @Override
        protected void populate(final CellItem<Integer> item) {
            item.add(new Label("label", item.getModel()));

        }
    };
    gridView.setColumns(10);
    gridView.setRows(5);
    // gridView.setReuseStrategy(new ReuseAllStrategy());
    WebMarkupContainer parent = new WebMarkupContainer("parent");
    parent.add(gridView);
    parent.setOutputMarkupPlaceholderTag(true);
    add(parent);
    AjaxItemsNavigator navigator = new AjaxItemsNavigator("nav", gridView);
    add(navigator);

}

From source file:com.aplombee.examples.QuickGridViewWithPageScrollBehavior.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();
    IDataProvider<Integer> data = new ListDataProvider<Integer>(list);
    //read more about {@see ItemsNavigationStrategy} ,it is one of provided strategy that can be used in
    //cases where new items has to be added without re-rendering QuickView
    gridView = new QuickGridView<Integer>("gv", data, new ItemsNavigationStrategy()) {
        @Override/* www. j  a  v a2 s  . c  o  m*/
        protected void populateEmptyItem(final CellItem<Integer> item) {
            item.add(new Label("label"));
        }

        @Override
        protected void populate(final CellItem<Integer> item) {
            item.add(new Label("label", item.getModel()));

        }
    };
    gridView.setColumns(10);
    gridView.setRows(5);
    WebMarkupContainer parent = new WebMarkupContainer("parent");
    parent.add(gridView);
    parent.setOutputMarkupPlaceholderTag(true);
    add(parent);
    //pagescrollbehavior added to page
    add(new AjaxPageScrollEventBehavior() {
        @Override
        protected void onScroll(AjaxRequestTarget target) {
            addItemsForNextPage(gridView);
        }
    });

}