org.apache.wicket.markup.repeater.data
Class GridView<T>

java.lang.Object
  extended by org.apache.wicket.Component
      extended by org.apache.wicket.MarkupContainer
          extended by org.apache.wicket.markup.html.WebMarkupContainer
              extended by org.apache.wicket.markup.repeater.AbstractRepeater
                  extended by org.apache.wicket.markup.repeater.RepeatingView
                      extended by org.apache.wicket.markup.repeater.RefreshingView<T>
                          extended by org.apache.wicket.markup.repeater.AbstractPageableView<T>
                              extended by org.apache.wicket.markup.repeater.data.DataViewBase<T>
                                  extended by org.apache.wicket.markup.repeater.data.GridView<T>
Type Parameters:
T -
All Implemented Interfaces:
java.io.Serializable, java.lang.Iterable<Component>, IEventSink, IEventSource, IClusterable, IConverterLocator, IHeaderContributor, IPageable, IPageableItems, IRequestableComponent, IHierarchical<Component>

public abstract class GridView<T>
extends DataViewBase<T>

A pageable DataView which breaks the data in the IDataProvider into a number of data-rows, depending on the column size. A typical use case is to show items in a table with ie 3 columns where the table is filled left to right top-down so that for each third item a new row is created.

Example

   <tbody>
     <tr wicket:id="rows" class"even">
       <td wicket:id="cols">
         <span wicket:id="id">Test ID</span>
       </td>
     </tr>
   </tbody>
 
and in java:
 add(new GridView("rows", dataProvider).setColumns(3));
 

Author:
Igor Vaynberg, Christian Essl
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER
 
Constructor Summary
GridView(java.lang.String id, IDataProvider<T> dataProvider)
           
 
Method Summary
protected  void addItems(java.util.Iterator<Item<T>> items)
          Add items to the view.
 int getColumns()
           
 IDataProvider<T> getDataProvider()
           
 java.util.Iterator<Item<T>> getItems()
           
 int getRows()
           
protected  Item<T> newEmptyItem(java.lang.String id, int index)
          Create a Item which represents an empty cell (there is no model for it in the DataProvider)
protected  Item<?> newRowItem(java.lang.String id, int index)
          Create a new Item which will hold a row.
protected abstract  void populateEmptyItem(Item<T> item)
          Add component to an Item for which there is no model anymore and is shown in a cell
 GridView<T> setColumns(int cols)
          Sets number of columns
 GridView<T> setRows(int rows)
          Sets number of rows per page
 
Methods inherited from class org.apache.wicket.markup.repeater.data.DataViewBase
getItemModels, internalGetDataProvider, internalGetItemCount, onDetach
 
Methods inherited from class org.apache.wicket.markup.repeater.AbstractPageableView
getCurrentPage, getFirstItemOffset, getItemCount, getItemModels, getItemsPerPage, getPageCount, getRowCount, getViewSize, onBeforeRender, setCurrentPage, setItemsPerPage
 
Methods inherited from class org.apache.wicket.markup.repeater.RefreshingView
getItemReuseStrategy, newItem, newItemFactory, onPopulate, populateItem, setItemReuseStrategy
 
Methods inherited from class org.apache.wicket.markup.repeater.RepeatingView
newChildId, renderIterator
 
Methods inherited from class org.apache.wicket.markup.repeater.AbstractRepeater
getMarkup, onRender, renderChild
 
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getWebPage, getWebRequest
 
Methods inherited from class org.apache.wicket.MarkupContainer
add, addOrReplace, autoAdd, contains, get, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkupType, hasAssociatedMarkup, internalAdd, internalInitialize, iterator, iterator, onAfterRenderChildren, onComponentTagBody, onMarkupAttached, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, swap, toString, toString, visitChildren, visitChildren, visitChildren, visitChildren
 
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, canCallListenerInterface, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, configure, continueToOriginalDestination, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessage, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnModelChanged, internalPrepareForRender, internalRenderComponent, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markRendering, modelChanged, modelChanging, newMarkupSourcingStrategy, onAfterRender, onComponentTag, onConfigure, onEvent, onInitialize, onModelChanged, onModelChanging, onRemove, prepareForRender, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderHead, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setRequestFlag, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, warn, wrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GridView

public GridView(java.lang.String id,
                IDataProvider<T> dataProvider)
Parameters:
id - component id
dataProvider - data provider
Method Detail

getColumns

public int getColumns()
Returns:
number of columns

setColumns

public GridView<T> setColumns(int cols)
Sets number of columns

Parameters:
cols - number of columns
Returns:
this for chaining

getRows

public int getRows()
Returns:
number of rows per page

setRows

public GridView<T> setRows(int rows)
Sets number of rows per page

Parameters:
rows - number of rows
Returns:
this for chaining

addItems

protected void addItems(java.util.Iterator<Item<T>> items)
Description copied from class: RefreshingView
Add items to the view. Prior to this all items were removed so every request this function starts from a clean slate.

Overrides:
addItems in class RefreshingView<T>
Parameters:
items - item instances to be added to this view

getDataProvider

public IDataProvider<T> getDataProvider()
Returns:
data provider

getItems

public java.util.Iterator<Item<T>> getItems()
Overrides:
getItems in class RefreshingView<T>
Returns:
iterator over item instances that exist as children of this view
See Also:
RefreshingView.getItems()

populateEmptyItem

protected abstract void populateEmptyItem(Item<T> item)
Add component to an Item for which there is no model anymore and is shown in a cell

Parameters:
item - Item object

newEmptyItem

protected Item<T> newEmptyItem(java.lang.String id,
                               int index)
Create a Item which represents an empty cell (there is no model for it in the DataProvider)

Parameters:
id -
index -
Returns:
created item

newRowItem

protected Item<?> newRowItem(java.lang.String id,
                             int index)
Create a new Item which will hold a row.

Parameters:
id -
index -
Returns:
created Item


Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.