Column

You are viewing an old version (v. 14) of this page.
The latest version is v. 20, last edited on Nov 13, 2014 (view differences | )
<< View previous version | view page history | view next version >>

Overview

The ace:Column renders a HTML td element representing a single column of data in the rows of the iterating parent DataTable.

Features of the column and interacting components include:

  • Row Editing
  • Row Panel Expansion
  • Row Sub-row Expansion
  • Filtering
  • Sorting
  • Column Visibility
  • Column Stacking
  • Column Configuration Panel
  • Edit and Filter Event Listeners
  • Column, Row Spanning Headers & Footers
  • Optional Application-bound State
    • Filtering
    • Sorting

Getting Started

	<ice:dataTable var="track" value="#{bean.tracks}">
    	<ice:column headerText="Album">
        	<h:outputText value="#{track.album}"/>
    	</ice:column>
	</ice:dataTable>

Attributes

TagLib Documentation
This section covers attributes involved in the typical use-cases for this component. For reference, the complete taglib documentation for this component is available here.

sortBy - Value expression defining the object this column will sort by.

	<ice:column sortBy="#{track.album}">
		<h:outputText value="#{track.album}"/>
	</ice:column>

sortFunction - Value expression for a Comparator<Object> that will be used to sort the objects referred to by sortBy. If this property is not defined, it is assumed that the objects referred to by sortBy implement the Comparable interface.

	<ice:column sortBy="#{track.album}" sortFunction="#{bean.albumCustomSortFunction}">
		<h:outputText value="#{track.album.name}"/>
	</ice:column>

sortPriority - Priority of this column among columns of a multi-column sort, starting at 1. Available for binding in situations of application initated or application persisted sorted states. Having a non-null priority enables sorting for this column when applyFilters() is called on the DataTable.

	<ice:column sortBy="#{track.album}" sortPriority="#{bean.albumSortPriority}" >
		<h:outputText value="#{track.album}"/>
	</ice:column>

sortAscending - Boolean value indicating if this sorted (as indicated by a set sortPriority) column is ascending.

	<ice:column sortBy="#{track.album}" sortAscending="#{bean.albumSortAscending}">
		<h:outputText value="#{track.album}"/>
	</ice:column>

filterBy - Value expression defining the object this column will filter by.

	<ice:column filterBy="#{track.album}">
		<h:outputText value="#{track.album}"/>
	</ice:column>

filterValue - Value of the filter input field. The input that will be used to filter the objects defined by filterBy.

	<ice:column filterBy="#{track.album}" filterValue="#{bean.albumFilterInput}">
		<h:outputText value="#{track.album}"/>
	</ice:column>

filterOptions - A collection of SelectItem objects for use as filter choices.
Managed Bean:

    public List<SelectItem> filterOptions = new ArrayList<SelectItem>() {{
        add(new SelectItem("Van"));
        add(new SelectItem("Bus"));
        add(new SelectItem("Compact"));
        add(new SelectItem("Semi-Truck"));
        add(new SelectItem("Pickup"));
    }};	

Facelet Markup:

	<ice:column filterBy="#{track.albumn}" filterOptions="#{bean.filterOptions}">
		<h:outputText value="#{track.album}"/>
	</ice:column>

filterMatchMode - Method of String comparison used to evaluate the filter, types available include: "contains", "exact", "startsWith", "endsWith". Defaults to "startsWith".

	<ice:column filterBy="#{track.albumn}" filterMatchMode="exact">
		<h:outputText value="#{track.album}"/>
	</ice:column>

rowspan - Defines the number of Row objects this Column should span. Only relevant on a Column used inside a ColumnGroup and Row component.

	<ice:columnGroup type="header">
	<ice:row>
		<ice:column colSpan="2">
			Track
		</ice:column>
		<ice:column rowSpan="2">
			Download
		</ice:column>
	</ice:row>
	<ice:row>
		<ice:column>
			Artist
		</ice:column>
		<ice:column>
		 	Album
		</ice:column>
	</ice:row>                    
	</ice:columnGroup>    

colspan - Defines the number of TD elements this Column should span. Only relevant on a Column used inside a ColumnGroup and Row component.

	<ice:columnGroup type="header">
	<ice:row>
		<ice:column colSpan="2">
			Track
		</ice:column>
	</ice:row>
	<ice:row>
		<ice:column>
			Artist
		</ice:column>
		<ice:column>
		 	Album
		</ice:column>
	</ice:row>                    
	</ice:columnGroup>

headerText - A plain text header with less effort than adding a facet.

	<ice:column headerText="Album">
		<h:outputText value="#{track.album}"/>
	</ice:column>
Component Documentation
This section covers components signifigant to the conventional row selection / pagination / expandable panel sample above. For further reference on the features listed in the overview, see the related components section, the section related to lazy loading and the complete taglib & [API] documentation for this component.

TableConfigPanel - Renders a panel allowing the configuration of Column features, like visibility, filtering, sorting and column order in a single compact control.

Known Issues

Related Components

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

© Copyright 2017 ICEsoft Technologies Canada Corp.