org.zkoss.zul
Class Column

java.lang.Object
  extended by org.zkoss.zk.ui.AbstractComponent
      extended by org.zkoss.zk.ui.HtmlBasedComponent
          extended by org.zkoss.zul.impl.XulElement
              extended by org.zkoss.zul.impl.LabelElement
                  extended by org.zkoss.zul.impl.LabelImageElement
                      extended by org.zkoss.zul.impl.HeaderElement
                          extended by org.zkoss.zul.Column
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, org.zkoss.zk.ui.Component, org.zkoss.zk.ui.sys.ComponentCtrl

public class Column
extends HeaderElement

A single column in a Columns element. Each child of the Column element is placed in each successive cell of the grid. The column with the most child elements determines the number of rows in each column.

The use of column is mainly to define attributes for each cell in the grid.

Author:
tomyeh
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.zkoss.zul.impl.LabelImageElement
LabelImageElement.ExtraCtrl
 
Field Summary
 
Fields inherited from class org.zkoss.zk.ui.HtmlBasedComponent
RS_NO_DISPLAY, RS_NO_HEIGHT, RS_NO_WIDTH
 
Fields inherited from interface org.zkoss.zk.ui.Component
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE
 
Constructor Summary
Column()
           
Column(java.lang.String label)
           
Column(java.lang.String label, java.lang.String src)
           
 
Method Summary
 Grid getGrid()
          Returns the grid that contains this column.
 java.lang.String getOuterAttrs()
           
 java.lang.String getSclass()
          Returns the style class.
 java.util.Comparator getSortAscending()
          Returns the ascending sorter, or null if not available.
 java.util.Comparator getSortDescending()
          Returns the descending sorter, or null if not available.
 java.lang.String getSortDirection()
          Returns the sort direction.
protected  void invalidateWhole()
          Invalidates the whole grid.
 void onSort()
          It invokes sort(boolean) to sort list items and maintain getSortDirection().
 void setParent(org.zkoss.zk.ui.Component parent)
           
 void setSortAscending(java.util.Comparator sorter)
          Sets the ascending sorter, or null for no sorter for the ascending order.
 void setSortAscending(java.lang.String clsnm)
          Sets the ascending sorter with the class name, or null for no sorter for the ascending order.
 void setSortDescending(java.util.Comparator sorter)
          Sets the descending sorter, or null for no sorter for the descending order.
 void setSortDescending(java.lang.String clsnm)
          Sets the descending sorter with the class name, or null for no sorter for the descending order.
 void setSortDirection(java.lang.String sortDir)
          Sets the sort direction.
 boolean sort(boolean ascending)
          Sorts the rows (Row) based on getSortAscending() and getSortDescending(), if getSortDirection() doesn't matches the ascending argument.
 boolean sort(boolean ascending, boolean force)
          Sorts the rows (Row) based on getSortAscending() and getSortDescending().
 
Methods inherited from class org.zkoss.zul.impl.HeaderElement
getAlign, getColAttrs, getValign, isChildable, setAlign, setValign, setWidth
 
Methods inherited from class org.zkoss.zul.impl.LabelImageElement
getImage, getImageContent, getImgTag, getSrc, isImageAssigned, newExtraCtrl, setImage, setImageContent, setSrc
 
Methods inherited from class org.zkoss.zul.impl.LabelElement
getLabel, setLabel
 
Methods inherited from class org.zkoss.zul.impl.XulElement
getAction, getAllOnClickAttrs, getContext, getInnerAttrs, getPopup, getTooltip, setAction, setContext, setPopup, setTooltip
 
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
addEventListener, appendAsapAttr, focus, getDraggable, getDroppable, getHeight, getLeft, getRealStyle, getRealStyleFlags, getStyle, getTooltiptext, getTop, getWidth, getZIndex, isAsapRequired, removeEventListener, setClass, setDraggable, setDroppable, setHeight, setLeft, setSclass, setStyle, setTooltiptext, setTop, setZIndex
 
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addAnnotation, addEventHandler, addSharedAnnotationMap, addSharedEventHandlerMap, appendChild, applyProperties, clone, containsVariable, detach, equals, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttributes, getAttributes, getChildren, getDefinition, getDesktop, getEventHandler, getExtraCtrl, getFellow, getFellowIfAny, getId, getListenerIterator, getMold, getMoldURI, getNamespace, getPage, getParent, getPropagatee, getRoot, getSpaceOwner, getUuid, getVariable, insertBefore, invalidate, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onDrawNewChild, onWrongValue, redraw, removeAttribute, removeAttribute, removeChild, response, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setComponentDefinition, setId, setMold, setPage, setVariable, setVisible, smartUpdate, smartUpdate, smartUpdate, toString, unsetVariable
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Column

public Column()

Column

public Column(java.lang.String label)

Column

public Column(java.lang.String label,
              java.lang.String src)
Method Detail

getGrid

public Grid getGrid()
Returns the grid that contains this column.


getSortDirection

public java.lang.String getSortDirection()
Returns the sort direction.

Default: "natural".


setSortDirection

public void setSortDirection(java.lang.String sortDir)
                      throws org.zkoss.zk.ui.WrongValueException
Sets the sort direction. This does not sort the data, it only serves as an indicator as to how the grid is sorted.

If you use sort(boolean) to sort rows (Row), the sort direction is maintained automatically. If you want to sort it in customized way, you have to set the sort direction manaully.

Parameters:
sortDir - one of "ascending", "descending" and "natural"
Throws:
org.zkoss.zk.ui.WrongValueException

getSortAscending

public java.util.Comparator getSortAscending()
Returns the ascending sorter, or null if not available.


setSortAscending

public void setSortAscending(java.util.Comparator sorter)
Sets the ascending sorter, or null for no sorter for the ascending order.


setSortAscending

public void setSortAscending(java.lang.String clsnm)
                      throws java.lang.ClassNotFoundException,
                             java.lang.InstantiationException,
                             java.lang.IllegalAccessException
Sets the ascending sorter with the class name, or null for no sorter for the ascending order.

Throws:
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException

getSortDescending

public java.util.Comparator getSortDescending()
Returns the descending sorter, or null if not available.


setSortDescending

public void setSortDescending(java.util.Comparator sorter)
Sets the descending sorter, or null for no sorter for the descending order.


setSortDescending

public void setSortDescending(java.lang.String clsnm)
                       throws java.lang.ClassNotFoundException,
                              java.lang.InstantiationException,
                              java.lang.IllegalAccessException
Sets the descending sorter with the class name, or null for no sorter for the descending order.

Throws:
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException

sort

public boolean sort(boolean ascending)
Sorts the rows (Row) based on getSortAscending() and getSortDescending(), if getSortDirection() doesn't matches the ascending argument.

It checks getSortDirection() to see whether sorting is required, and update setSortDirection(java.lang.String) after sorted. For example, if getSortDirection() returns "ascending" and the ascending argument is false, nothing happens. To enforce the sorting, you can invoke setSortDirection(java.lang.String) with "natural" before invoking this method. Alternatively, you can invoke sort(boolean, boolean) instead.

It sorts the rows by use of Components.sort(java.util.List, java.util.Comparator), if not live data (i.e., Grid.getModel() is null).

On the other hand, it invokes ListModelExt.sort(java.util.Comparator, boolean) to sort the rows, if live data (i.e., Grid.getModel() is not null). In other words, if you use the live data, you have to implement ListModelExt to sort the live data explicitly.

Parameters:
ascending - whether to use getSortAscending(). If the corresponding comparator is not set, it returns false and does nothing.
Returns:
whether the rows are sorted.
Throws:
org.zkoss.zk.ui.UiException - if Grid.getModel() is not null but ListModelExt is not implemented.

sort

public boolean sort(boolean ascending,
                    boolean force)
Sorts the rows (Row) based on getSortAscending() and getSortDescending().

Parameters:
ascending - whether to use getSortAscending(). If the corresponding comparator is not set, it returns false and does nothing.
force - whether to enforce the sorting no matter what the sort direction (getSortDirection()) is. If false, this method is the same as sort(boolean).
Returns:
whether the rows are sorted.

onSort

public void onSort()
It invokes sort(boolean) to sort list items and maintain getSortDirection().


getSclass

public java.lang.String getSclass()
Returns the style class. If the style class is not defined (HtmlBasedComponent.setSclass(java.lang.String) is not called or called with null or empty), it returns "sort" if sortable, or null if not sortable.

By sortable we mean that setSortAscending(java.util.Comparator) or setSortDescending(java.util.Comparator) was called with a non-null comparator

Overrides:
getSclass in class org.zkoss.zk.ui.HtmlBasedComponent

getOuterAttrs

public java.lang.String getOuterAttrs()
Overrides:
getOuterAttrs in class HeaderElement

invalidateWhole

protected void invalidateWhole()
Invalidates the whole grid.

Specified by:
invalidateWhole in class HeaderElement

setParent

public void setParent(org.zkoss.zk.ui.Component parent)
Specified by:
setParent in interface org.zkoss.zk.ui.Component
Overrides:
setParent in class org.zkoss.zk.ui.AbstractComponent


Copyright © 2005-2007 Potix Corporation. All Rights Reserved.