org.apache.wicket.markup.repeater.data
Class GridView

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
                          extended by org.apache.wicket.markup.repeater.AbstractPageableView
                              extended by org.apache.wicket.markup.repeater.data.DataViewBase
                                  extended by org.apache.wicket.markup.repeater.data.GridView
All Implemented Interfaces:
java.io.Serializable, IClusterable, IConverterLocator, IPageable

public abstract class GridView
extends DataViewBase

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

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.wicket.Component
Component.ComponentModelChange, Component.EnabledChange, Component.IVisitor, Component.VisibilityChange
 
Field Summary
 
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED6, FLAG_RESERVED7, FLAG_RESERVED8, PATH_SEPARATOR, RENDER
 
Constructor Summary
GridView(java.lang.String id, IDataProvider dataProvider)
           
 
Method Summary
protected  void addItems(java.util.Iterator items)
          Add items to the view.
 int getColumns()
           
 IDataProvider getDataProvider()
           
 java.util.Iterator getItems()
           
 int getRows()
           
protected  Item 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 item)
          Add component to an Item for which there is no model anymore and is shown in a cell
 GridView setColumns(int cols)
          Sets number of columns
 GridView 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, getItemModels, getPageCount, getRowCount, getViewOffset, getViewSize, internalGetRowsPerPage, internalSetRowsPerPage, onBeforeRender, setCurrentPage
 
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
onRender, renderChild
 
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getMarkupType, getWebPage
 
Methods inherited from class org.apache.wicket.MarkupContainer
add, addOrReplace, autoAdd, autoAdd, contains, findMarkupStream, get, getAssociatedMarkupStream, getMarkupStream, hasAssociatedMarkup, internalAdd, isTransparentResolver, iterator, iterator, newMarkupResourceStream, onComponentTagBody, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderComponentTagBody, replace, setMarkupStream, setModel, size, toString, toString, visitChildren, visitChildren
 
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, callOnBeforeRenderIfNotVisible, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, continueToOriginalDestination, debug, detach, detachBehaviors, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findPage, findParent, findParentWithAssociatedMarkup, getApplication, getBehaviors, getBehaviors, getBehaviorsRawList, getClassRelativePath, getComponentBorder, getConverter, getConverter, getEscapeModelStrings, getFeedbackMessage, getFlag, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkupAttributes, getMarkupId, getMarkupId, getMetaData, getModel, getModelComparator, getModelObject, getModelObjectAsString, getModelObjectAsString, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageFactory, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalAttach, internalDetach, internalOnAttach, internalOnDetach, internalOnModelChanged, isActionAuthorized, isAncestorOf, isAttached, isBehaviorAccepted, isEnableAllowed, isEnabled, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markAttached, markRendering, modelChanged, modelChanging, newPage, newPage, onAfterRender, onAttach, onBeginRequest, onComponentTag, onEndRequest, onModelChanged, onModelChanging, prepareForRender, redirectToInterceptPage, remove, remove, render, render, renderComponent, renderComponent, renderComponentTag, rendered, renderHead, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, setAuto, setComponentBorder, setEnabled, setEscapeModelStrings, setFlag, setFlag, setIgnoreAttributeModifier, setMarkupId, setMetaData, setModelObject, setOutputMarkupId, setOutputMarkupPlaceholderTag, setRedirect, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, urlFor, 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 dataProvider)
Parameters:
id - component id
dataProvider - data provider
Method Detail

getColumns

public int getColumns()
Returns:
number of columns

setColumns

public GridView 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 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 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
Parameters:
items - item instances to be added to this view

getDataProvider

public IDataProvider getDataProvider()
Returns:
data provider

getItems

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

populateEmptyItem

protected abstract void populateEmptyItem(Item 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 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 © 2004-2010 Apache Software Foundation. All Rights Reserved.