|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.zkoss.zk.ui.AbstractComponent
org.zkoss.zk.ui.HtmlBasedComponent
org.zkoss.zul.impl.XulElement
org.zkoss.zul.impl.LabelElement
org.zkoss.zul.impl.LabelImageElement
org.zkoss.zul.impl.HeaderElement
org.zkoss.zul.Column
public class Column
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 getZclass(): z-column. (since 3.5.0)
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.zkoss.zul.impl.LabelImageElement |
|---|
LabelImageElement.ExtraCtrl |
| Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent |
|---|
AbstractComponent.Children |
| Field Summary |
|---|
| Fields inherited from class org.zkoss.zk.ui.HtmlBasedComponent |
|---|
_zclass, RS_NO_DISPLAY, RS_NO_HEIGHT, RS_NO_WIDTH |
| Fields inherited from class org.zkoss.zk.ui.AbstractComponent |
|---|
_visible |
| 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)
|
|
Column(java.lang.String label,
java.lang.String src,
java.lang.String width)
|
|
| Method Summary | |
|---|---|
void |
beforeParentChanged(Component parent)
Default: does nothing. |
java.lang.Object |
clone()
Clones the component. |
Grid |
getGrid()
Returns the grid that contains this column. |
Grid |
getGridApi()
Returns the grid that contains this column. |
java.lang.String |
getOuterAttrs()
Returns the exterior attributes for generating the enclosing HTML tag; never return null. |
protected java.lang.String |
getRealSclass()
Returns the real style class that will be generated to the client (when HtmlBasedComponent.getOuterAttrs() is called). |
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. |
java.lang.Object |
getValue()
Returns the value. |
java.lang.String |
getZclass()
Returns the ZK Cascading Style class(es) for this component. |
boolean |
group(boolean ascending)
Groups and sorts the rows ( Row) based on
getSortAscending(). |
protected void |
invalidateWhole()
Invalidates the whole grid. |
void |
onSort()
It invokes sort(boolean) to sort list items and maintain
getSortDirection(). |
void |
setLabel(java.lang.String label)
Sets the label. |
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. |
void |
setValue(java.lang.Object value)
Sets the value. |
boolean |
setVisible(boolean visible)
Sets whether this component is visible. |
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, setAlign, setValign |
| Methods inherited from class org.zkoss.zul.impl.LabelImageElement |
|---|
getEncodedImageURL, getHoverImage, getImage, getImageContent, getImgTag, getImgTag, getSrc, isImageAssigned, newExtraCtrl, setHoverImage, setHoverImageContent, setHoverImageContent, setImage, setImageContent, setImageContent, setSrc |
| Methods inherited from class org.zkoss.zul.impl.LabelElement |
|---|
getLabel |
| Methods inherited from class org.zkoss.zul.impl.XulElement |
|---|
getAction, getActionAttrs, getAllOnClickAttrs, getContext, getCtrlKeys, getInnerAttrs, getPopup, getTooltip, setAction, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip |
| Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent |
|---|
focus, getAllOnClickAttrs, getDraggable, getDroppable, getHeight, getLeft, getMoldSclass, getRealStyle, getRealStyleFlags, getSclass, getStyle, getTooltiptext, getTop, getWidth, getZindex, getZIndex, redraw, setClass, setDraggable, setDroppable, setFocus, setHeight, setLeft, setMoldSclass, setSclass, setStyle, setTooltiptext, setTop, setWidth, setZclass, setZindex, setZIndex |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 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 |
| 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, getZindex, getZIndex, setDraggable, setDroppable, setFocus, setHeight, setLeft, setSclass, setStyle, setTooltiptext, setTop, setWidth, setZclass, setZindex, setZIndex |
| Constructor Detail |
|---|
public Column()
public Column(java.lang.String label)
public Column(java.lang.String label,
java.lang.String src)
public Column(java.lang.String label,
java.lang.String src,
java.lang.String width)
| Method Detail |
|---|
public Grid getGrid()
public Grid getGridApi()
getGridApi in interface Columnpublic java.lang.String getSortDirection()
Default: "natural".
getSortDirection in interface Column
public void setSortDirection(java.lang.String sortDir)
throws WrongValueException
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.
setSortDirection in interface ColumnsortDir - one of "ascending", "descending" and "natural"
WrongValueExceptionpublic void setSort(java.lang.String type)
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.
setSort in interface Columnpublic java.util.Comparator getSortAscending()
getSortAscending in interface Columnpublic void setSortAscending(java.util.Comparator sorter)
setSortAscending in interface Columnsorter - 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.
public void setSortAscending(java.lang.String clsnm)
throws java.lang.ClassNotFoundException,
java.lang.InstantiationException,
java.lang.IllegalAccessException
setSortAscending in interface Columnjava.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessExceptionpublic java.util.Comparator getSortDescending()
getSortDescending in interface Columnpublic void setSortDescending(java.util.Comparator sorter)
setSortDescending in interface Columnsorter - 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.
public void setSortDescending(java.lang.String clsnm)
throws java.lang.ClassNotFoundException,
java.lang.InstantiationException,
java.lang.IllegalAccessException
setSortDescending in interface Columnjava.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessExceptionpublic boolean sort(boolean ascending)
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.
sort in interface Columnascending - whether to use getSortAscending().
If the corresponding comparator is not set, it returns false
and does nothing.
UiException - if Grid.getModel() is not
null but ListModelExt is not implemented.
public boolean sort(boolean ascending,
boolean force)
Row) based on getSortAscending()
and getSortDescending().
sort in interface Columnascending - 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).
public boolean group(boolean ascending)
Row) based on
getSortAscending().
If the corresponding comparator is not set, it returns false
and does nothing.
group in interface Columnascending - whether to use getSortAscending().
If the corresponding comparator is not set, it returns false
and does nothing.
public void setLabel(java.lang.String label)
LabelElementIf label is changed, the whole component is invalidate. Thus, you want to smart-update, you have to override this method.
setLabel in interface LabelElementsetLabel in class LabelElementpublic boolean setVisible(boolean visible)
Component
setVisible in interface ComponentsetVisible in class HeaderElementpublic java.lang.Object getValue()
Default: null.
Note: the value is application dependent, you can place whatever value you want.
public void setValue(java.lang.Object value)
value - the value.
Note: the value is application dependent, you can place whatever value you want.
public void onSort()
sort(boolean) to sort list items and maintain
getSortDirection().
public java.lang.String getZclass()
HtmlBasedComponentDefault: null (the default value depends on element).
HtmlBasedComponent.setZclass(java.lang.String)) will completely replace the default style
of a component. In other words, the default style of a component
is associated with the default value of HtmlBasedComponent.getZclass().
Once it is changed, the default style won't be applied at all.
If you want to perform small adjustments, use HtmlBasedComponent.setSclass(java.lang.String)
instead.
getZclass in interface HtmlBasedComponentgetZclass in class HtmlBasedComponentHtmlBasedComponent.getSclass(),
HtmlBasedComponent.getRealSclass()protected java.lang.String getRealSclass()
HtmlBasedComponentHtmlBasedComponent.getOuterAttrs() is called).
Default: it simply returns the catenation of HtmlBasedComponent.getSclass()
and HtmlBasedComponent.getZclass() (since 3.5.0).
Derived classes might override it to provide, say, dual style classes. For example,
final String sclass = getSclass();
return sclass != null ? sclass + " my-addon": "myaddon";
getRealSclass in class HtmlBasedComponentHtmlBasedComponent.getZclass()public java.lang.String getOuterAttrs()
HtmlBasedComponentUsed only by component developers.
Default: Generates the tooltip text, style, sclass, draggable
and droppable attribute if necessary.
In other words, the corresponding attribute is generated if
HtmlBasedComponent.getTooltiptext(), HtmlBasedComponent.getRealStyle(),
HtmlBasedComponent.getSclass(), HtmlBasedComponent.getDraggable(), HtmlBasedComponent.getDroppable()
are defined.
You have to call both HtmlBasedComponent.getOuterAttrs() and
HtmlBasedComponent.getInnerAttrs() to generate complete attributes.
For simple components that all attributes are put on the outest HTML element, all you need is as follows.
<xx id="${self.uuid}"${self.outerAttrs}${self.innerAttrs}>
If you want to put attributes in a nested HTML element, you
shall use the following pattern. Notice: if HtmlBasedComponent.getInnerAttrs()
in a different tag, the tag must be named with "${self.uuid}!real".
<xx id="${self.uuid}"${self.outerAttrs}>
<yy id="${self.uuid}!real"${self.innerAttrs}>...
Note: This class handles non-deferrable event listeners automatically.
However, you have to invoke AbstractComponent.appendAsapAttr(java.lang.StringBuffer, java.lang.String) for each event
the component handles in HtmlBasedComponent.getOuterAttrs() as follows.
appendAsapAttr(sb, Events.ON_OPEN);
appendAsapAttr(sb, Events.ON_CHANGE);
Theorectically, you could put any attributes in either
HtmlBasedComponent.getInnerAttrs() or HtmlBasedComponent.getOuterAttrs().
However, zkau.js assumes all attributes are put at the outer one.
If you want something different, you have to provide your own
setAttr (refer to how checkbox is implemented).
getOuterAttrs in class HeaderElementprotected void invalidateWhole()
invalidateWhole in class HeaderElementpublic void beforeParentChanged(Component parent)
AbstractComponent
beforeParentChanged in interface ComponentCtrlbeforeParentChanged in class AbstractComponentparent - the new parent. If null, it means detachment.ComponentCtrl.beforeParentChanged(org.zkoss.zk.ui.Component)public java.lang.Object clone()
Component
clone in interface Componentclone in class AbstractComponent
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||