org.zkoss.zul.api
Interface Column

All Superinterfaces:
java.lang.Cloneable, Component, HeaderElement, HtmlBasedComponent, LabelElement, LabelImageElement, Scope, java.io.Serializable, XulElement
All Known Implementing Classes:
Column

public interface 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.

Default HtmlBasedComponent.getZclass(): z-column. (since 3.5.0)

Since:
3.5.2
Author:
tomyeh

Field Summary
 
Fields inherited from interface org.zkoss.zk.ui.Component
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE
 
Method Summary
 Grid getGridApi()
          Returns the grid that contains this column.
 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.
 boolean group(boolean ascending)
          Groups and sorts the rows (Row) based on getSortAscending().
 void setSort(java.lang.String type)
          Sets the type of the sorter.
 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 interface org.zkoss.zul.impl.api.HeaderElement
getAlign, getValign, setAlign, setValign
 
Methods inherited from interface org.zkoss.zul.impl.api.LabelImageElement
getHoverImage, getImage, getImageContent, setHoverImage, setHoverImageContent, setHoverImageContent, setImage, setImageContent, setImageContent
 
Methods inherited from interface org.zkoss.zul.impl.api.LabelElement
getLabel, setLabel
 
Methods inherited from interface org.zkoss.zul.impl.api.XulElement
getAction, getContext, getCtrlKeys, getPopup, getTooltip, setAction, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
 
Methods inherited from interface org.zkoss.zk.ui.api.HtmlBasedComponent
focus, getHeight, getLeft, getSclass, getStyle, getTooltiptext, getTop, getWidth, getZclass, getZindex, getZIndex, setDraggable, setDroppable, setFocus, setHeight, setLeft, setSclass, setStyle, setTooltiptext, setTop, setWidth, setZclass, setZindex, setZIndex
 
Methods inherited from interface org.zkoss.zk.ui.Component
addEventListener, addForward, addForward, addForward, addForward, appendChild, applyProperties, clone, containsVariable, detach, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getChildren, getDefinition, getDesktop, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getNamespace, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getUuid, getVariable, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttributeOrFellow, hasFellow, hasFellow, insertBefore, invalidate, isInvalidated, isListenerAvailable, isVisible, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, setAttribute, setAttribute, setAuService, setId, setMold, setPage, setPageBefore, setParent, setVariable, setVisible, setWidgetListener, setWidgetOverride, unsetVariable
 
Methods inherited from interface org.zkoss.zk.ui.ext.Scope
addScopeListener, getAttribute, hasAttribute, removeAttribute, removeScopeListener, setAttribute
 

Method Detail

getGridApi

Grid getGridApi()
Returns the grid that contains this column.


getSortDirection

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

Default: "natural".


setSortDirection

void setSortDirection(java.lang.String sortDir)
                      throws 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:
WrongValueException

setSort

void setSort(java.lang.String type)
             throws java.lang.ClassNotFoundException,
                    java.lang.InstantiationException,
                    java.lang.IllegalAccessException
Sets the type of the sorter. You might specify either "auto", "auto(FIELD_NAME1[,FIELD_NAME2] ...)" or "none".

If "client" or "client(number)" is specified, the sort functionality will be done by Javascript at client without notifying to server, that is, the order of the component in the row is out of sync.

Note: client sorting cannot work in model case. (since 5.0.0)

If "auto" is specified, setSortAscending(java.util.Comparator) and/or setSortDescending(java.util.Comparator) are called with RowComparator, if getSortDescending() and/or getSortAscending() are null. If you assigned a comparator to them, it won't be affected. The auto created comparator is case-insensitive.

If "auto(FIELD_NAME1, FIELD_NAME2, ...)" is specified, setSortAscending(java.util.Comparator) and/or setSortDescending(java.util.Comparator) are called with FieldComparator, if getSortDescending() and/or getSortAscending() are null. If you assigned a comparator to them, it won't be affected. The auto created comparator is case-insensitive.

If "none" is specified, both setSortAscending(java.util.Comparator) and setSortDescending(java.util.Comparator) are called with null. Therefore, no more sorting is available to users for this column.

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

getSortAscending

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


setSortAscending

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

Parameters:
sorter - the comparator used to sort the ascending order. If you are using the group feature, you can pass an instance of GroupComparator to have a better control. If an instance of GroupComparator is passed, GroupComparator.compareGroup(java.lang.Object, java.lang.Object) is used to group elements, and Comparator.compare(java.lang.Object, java.lang.Object) is used to sort elements with a group. Otherwise, Comparator.compare(java.lang.Object, java.lang.Object) is used to group elements and sort elements within a group.

setSortAscending

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

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


setSortDescending

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

Parameters:
sorter - the comparator used to sort the ascending order. If you are using the group feature, you can pass an instance of GroupComparator to have a better control. If an instance of GroupComparator is passed, GroupComparator.compareGroup(java.lang.Object, java.lang.Object) is used to group elements, and Comparator.compare(java.lang.Object, java.lang.Object) is used to sort elements with a group. Otherwise, Comparator.compare(java.lang.Object, java.lang.Object) is used to group elements and sort elements within a group.

setSortDescending

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

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:
UiException - if Grid.getModel() is not null but ListModelExt is not implemented.

sort

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.

group

boolean group(boolean ascending)
Groups and sorts the rows (Row) based on getSortAscending(). If the corresponding comparator is not set, it returns false and does nothing.

Parameters:
ascending - whether to use getSortAscending(). If the corresponding comparator is not set, it returns false and does nothing.
Returns:
whether the rows are grouped.


Copyright © 2005-2009 Potix Corporation. All Rights Reserved. SourceForge.net Logo