Class Column
- java.lang.Object
-
- org.zkoss.zk.ui.AbstractComponent
-
- org.zkoss.zk.ui.HtmlBasedComponent
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,org.zkoss.zk.ui.Component,org.zkoss.zk.ui.ext.Scope,org.zkoss.zk.ui.sys.ComponentCtrl
public class Column extends HeaderElement
A single column in aColumnselement. Each child of theColumnelement 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
getZclass(): z-column. (since 3.5.0)- Author:
- tomyeh
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.zkoss.zul.impl.LabelImageElement
LabelImageElement.ExtraCtrl
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbeforeParentChanged(org.zkoss.zk.ui.Component parent)java.lang.Objectclone()GridgetGrid()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.StringgetSortDirection()Returns the sort direction.<T> TgetValue()Returns the value.java.lang.StringgetZclass()booleangroup(boolean ascending)Groups and sorts the rows (Row) based ongetSortAscending().voidonGroupLater(org.zkoss.zk.ui.event.SortEvent event)Internal use only.voidonSort(org.zkoss.zk.ui.event.SortEvent event)Invokes a sorting action based on aSortEventand maintainsgetSortDirection().protected voidrenderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer)voidservice(org.zkoss.zk.au.AuRequest request, boolean everError)Processes an AU request.voidsetSort(java.lang.String type)Sets the type of the sorter.voidsetSortAscending(java.lang.String clsnm)Sets the ascending sorter with the class name, or null for no sorter for the ascending order.voidsetSortAscending(java.util.Comparator<?> sorter)Sets the ascending sorter, or null for no sorter for the ascending order.voidsetSortDescending(java.lang.String clsnm)Sets the descending sorter with the class name, or null for no sorter for the descending order.voidsetSortDescending(java.util.Comparator<?> sorter)Sets the descending sorter, or null for no sorter for the descending order.voidsetSortDirection(java.lang.String sortDir)Sets the sort direction.<T> voidsetValue(T value)Sets the value.booleansort(boolean ascending)Sorts the rows (Row) based ongetSortAscending()andgetSortDescending(), ifgetSortDirection()doesn't matches the ascending argument.booleansort(boolean ascending, boolean force)voidungroup(boolean ascending)Ungroups and sorts the rows (Row) based on the ascending.-
Methods inherited from class org.zkoss.zul.impl.HeaderElement
evalCSSFlex, getAlign, getValign, setAlign, setValign
-
Methods inherited from class org.zkoss.zul.impl.LabelImageElement
getExtraCtrl, getHoverImage, getHoverImageContent, getIconSclass, getIconSclasses, getIconTooltip, getIconTooltips, getImage, getImageContent, getPropertyAccess, isImageAssigned, setHoverImage, setHoverImageContent, setHoverImageContent, setIconSclass, setIconSclasses, setIconTooltip, setIconTooltips, setImage, setImageContent, setImageContent
-
Methods inherited from class org.zkoss.zul.impl.LabelElement
getLabel, renderCrawlable, setLabel
-
Methods inherited from class org.zkoss.zul.impl.XulElement
getContext, getCtrlKeys, getPopup, getTooltip, setContext, setContext, setContextAttributes, setCtrlKeys, setPopup, setPopup, setPopupAttributes, setTooltip, setTooltip, setTooltipAttributes
-
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
addSclass, focus, getAction, getClientAction, getDraggable, getDroppable, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZindex, getZIndex, removeSclass, removeSclass, setAction, setClass, setClientAction, setDraggable, setDroppable, setFocus, setHeight, setHeight0, setHeightDirectly, setHflex, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex, setVflex0, setVflexDirectly, setWidth, setWidth0, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
-
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, destroyIndexCacheMap, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, disableHostChanged, enableBindingAnnotation, enableHostChanged, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getForwards, getId, getIndexCacheMap, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, initIndexCacheMap, insertBefore, invalidate, isChildable, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onParentChanged, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderPropertiesOnly, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
-
-
-
-
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.WrongValueExceptionSets the sort direction. This does not sort the data, it only serves as an indicator as to how the grid is sorted. (unless the grid has "autosort" attribute)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 manually.- Parameters:
sortDir- one of "ascending", "descending" and "natural"- Throws:
org.zkoss.zk.ui.WrongValueException
-
setSort
public void setSort(java.lang.String type) throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessExceptionSets the type of the sorter. You might specify either "auto", "auto(FIELD_NAME1[,FIELD_NAME2] ...)"(since 3.5.3), "auto(number)" (since 5.0.6) 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.
- "client" : it is treated by a string
- "client(number)" : it is treated by a number
Note: client sorting cannot work in model case. (since 5.0.0)
If "auto" is specified,
setSortAscending(java.util.Comparator<?>)and/orsetSortDescending(java.util.Comparator<?>)are called withRowComparator, ifgetSortDescending()and/orgetSortAscending()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/orsetSortDescending(java.util.Comparator<?>)are called withFieldComparator, ifgetSortDescending()and/orgetSortAscending()are null. If you assigned a comparator to them, it won't be affected. The auto created comparator is case-sensitive.If "auto(LOWER(FIELD_NAME))" or "auto(UPPER(FIELD_NAME))" is specified,
setSortAscending(java.util.Comparator<?>)and/orsetSortDescending(java.util.Comparator<?>)are called withFieldComparator, ifgetSortDescending()and/orgetSortAscending()are null. If you assigned a comparator to them, it won't be affected. The auto created comparator is case-insensitive.If "auto(number)" is specified,
setSortAscending(java.util.Comparator<?>)and/orsetSortDescending(java.util.Comparator<?>)are called withArrayComparator. Notice that the data must be an array and the number-th element must be comparable (Comparable).If "none" is specified, both
setSortAscending(java.util.Comparator<?>)andsetSortDescending(java.util.Comparator<?>)are called with null. Therefore, no more sorting is available to users for this column.- Throws:
java.lang.IllegalAccessExceptionjava.lang.InstantiationExceptionjava.lang.ClassNotFoundException- Since:
- 3.5.3
-
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.- Parameters:
sorter- the comparator used to sort the ascending order. If you are using the group feature, you can pass an instance ofGroupComparatorto have a better control. If an instance ofGroupComparatoris passed,GroupComparator.compareGroup(D, D)is used to group elements, andComparator.compare(T, T)is used to sort elements with a group. Otherwise,Comparator.compare(T, T)is used to group elements and sort elements within a group.
-
setSortAscending
public void setSortAscending(java.lang.String clsnm) throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessExceptionSets the ascending sorter with the class name, or null for no sorter for the ascending order.- Throws:
java.lang.ClassNotFoundExceptionjava.lang.InstantiationExceptionjava.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.- Parameters:
sorter- the comparator used to sort the descending order. If you are using the group feature, you can pass an instance ofGroupComparatorto have a better control. If an instance ofGroupComparatoris passed,GroupComparator.compareGroup(D, D)is used to group elements, andComparator.compare(T, T)is used to sort elements with a group. Otherwise,Comparator.compare(T, T)is used to group elements and sort elements within a group.
-
setSortDescending
public void setSortDescending(java.lang.String clsnm) throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessExceptionSets the descending sorter with the class name, or null for no sorter for the descending order.- Throws:
java.lang.ClassNotFoundExceptionjava.lang.InstantiationExceptionjava.lang.IllegalAccessException
-
sort
public boolean sort(boolean ascending)
Sorts the rows (Row) based ongetSortAscending()andgetSortDescending(), ifgetSortDirection()doesn't matches the ascending argument.It checks
getSortDirection()to see whether sorting is required, and updatesetSortDirection(java.lang.String)after sorted. For example, ifgetSortDirection()returns "ascending" and the ascending argument is false, nothing happens. To enforce the sorting, you can invokesetSortDirection(java.lang.String)with "natural" before invoking this method. Alternatively, you can invokesort(boolean, boolean)instead.It sorts the rows by use of
Components.sort(java.util.List<? extends org.zkoss.zk.ui.Component>, java.util.Comparator<? super org.zkoss.zk.ui.Component>), if not live data (i.e.,Grid.getModel()is null).On the other hand, it invokes
Sortable.sort(java.util.Comparator<T>, 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 implementSortableto sort the live data explicitly.- Parameters:
ascending- whether to usegetSortAscending(). 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- ifGrid.getModel()is not null butSortableis not implemented.
-
sort
public boolean sort(boolean ascending, boolean force)- Parameters:
ascending- whether to usegetSortAscending(). 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 assort(boolean).- Returns:
- whether the rows are sorted.
-
group
public boolean group(boolean ascending)
Groups and sorts the rows (Row) based ongetSortAscending(). If the corresponding comparator is not set, it returns false and does nothing.- Parameters:
ascending- whether to usegetSortAscending(). If the corresponding comparator is not set, it returns false and does nothing.- Returns:
- whether the rows are grouped.
- Since:
- 3.5.0
-
renderProperties
protected void renderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer) throws java.io.IOException- Overrides:
renderPropertiesin classHeaderElement- Throws:
java.io.IOException
-
getValue
public <T> T getValue()
Returns the value.Default: null.
Note: the value is application dependent, you can place whatever value you want.
- Since:
- 3.6.0
-
setValue
public <T> void setValue(T value)
Sets the value.- Parameters:
value- the value.Note: the value is application dependent, you can place whatever value you want.
- Since:
- 3.6.0
-
onSort
public void onSort(org.zkoss.zk.ui.event.SortEvent event)
Invokes a sorting action based on aSortEventand maintainsgetSortDirection().- Since:
- 5.0.8
-
onGroupLater
public void onGroupLater(org.zkoss.zk.ui.event.SortEvent event)
Internal use only.- Since:
- 6.5.0
-
ungroup
public void ungroup(boolean ascending)
Ungroups and sorts the rows (Row) based on the ascending. If the corresponding comparator is not set, it returns false and does nothing.- Parameters:
ascending- whether to usegetSortAscending(). If the corresponding comparator is not set, it returns false and does nothing.- Since:
- 6.5.0
-
getZclass
public java.lang.String getZclass()
- Overrides:
getZclassin classorg.zkoss.zk.ui.HtmlBasedComponent
-
beforeParentChanged
public void beforeParentChanged(org.zkoss.zk.ui.Component parent)
- Specified by:
beforeParentChangedin interfaceorg.zkoss.zk.ui.sys.ComponentCtrl- Overrides:
beforeParentChangedin classorg.zkoss.zk.ui.AbstractComponent
-
service
public void service(org.zkoss.zk.au.AuRequest request, boolean everError)Processes an AU request.Default: in addition to what are handled by its superclass, it also handles onSort.
- Specified by:
servicein interfaceorg.zkoss.zk.ui.sys.ComponentCtrl- Overrides:
servicein classorg.zkoss.zk.ui.HtmlBasedComponent- Since:
- 5.0.8
-
clone
public java.lang.Object clone()
- Specified by:
clonein interfaceorg.zkoss.zk.ui.Component- Overrides:
clonein classLabelImageElement
-
-