Project Documentation

Summary

Tag name: <t:columns>
UIComponent class: org.apache.myfaces.custom.crosstable.HtmlColumns
Tag class: org.apache.myfaces.custom.crosstable.HtmlColumnsTag
Component type: org.apache.myfaces.HtmlColumns
Component family: javax.faces.Data
Renderer type:

The tag allows dynamic columns in a datatable. The UIColumns component is used below a t:datatable to create a dynamic count of columns. It is used like a UIData component which iterates through a datamodel to create the columns. Unless otherwise specified, all attributes accept static values or EL expressions.

Usage

<t:dataTable value="#{rows}" var="row">
    <t:columns value="#{cols}" var="column">
        <f:facet name="header">
            <h:outputText value="#{column.name}"/>
        </f:facet>
        <h:outputText value="#{row.columnValue}"/>
    </t:columns>
</t:dataTable>

Instructions

see examples/crossDataTable.jsp for an example!

Supported Facets

Name Required Description
footer false
header false

Attributes

Name Type Supports EL? Description
binding org.apache.myfaces.custom.crosstable.HtmlColumns Only EL Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind " + "to this component instance. This value must be an EL expression.
colspan String Yes This attribute specifies the colspan attribute for the cell
columnId String Yes The columnId which will be used as id for the column header. Notice: As the rowId on t:datatable this will not add any namespace to the id. The id will be rendered exactly as you provide it.
defaultSorted boolean Yes This attribute tells the datatable to make this column the default sorted, when sortable=true
dir String Yes HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).
first int Yes Defines the index of the first row to be displayed, starting from 0.
footercolspan String Yes
footerdir String Yes
footerlang String Yes
footeronclick String Yes
footerondblclick String Yes
footeronkeydown String Yes
footeronkeypress String Yes
footeronkeyup String Yes
footeronmousedown String Yes
footeronmousemove String Yes
footeronmouseout String Yes
footeronmouseover String Yes
footeronmouseup String Yes
footerstyle String Yes
footerstyleClass String Yes Corresponds to the HTML class attribute.
footertitle String Yes
groupBy boolean Yes This attribute tells the datatable to group by data in this column
groupByValue Object Yes Optional - Allows you configure where to get the value to check for the group change condition. Default: all children of the column cell will be checked
headercolspan String Yes
headerdir String Yes
headerlang String Yes
headeronclick String Yes
headerondblclick String Yes
headeronkeydown String Yes
headeronkeypress String Yes
headeronkeyup String Yes
headeronmousedown String Yes
headeronmousemove String Yes
headeronmouseout String Yes
headeronmouseover String Yes
headeronmouseup String Yes
headerstyle String Yes
headerstyleClass String Yes Corresponds to the HTML class attribute.
headertitle String Yes
id String Yes Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer component. The id is not necessarily unique across all components in the current view.
lang String Yes HTML: The base language of this document.
onclick String Yes HTML: Script to be invoked when the element is clicked.
ondblclick String Yes HTML: Script to be invoked when the element is double-clicked.
onkeydown String Yes HTML: Script to be invoked when a key is pressed down over this element.
onkeypress String Yes HTML: Script to be invoked when a key is pressed over this element.
onkeyup String Yes HTML: Script to be invoked when a key is released over this element.
onmousedown String Yes HTML: Script to be invoked when the pointing device is pressed over this element.
onmousemove String Yes HTML: Script to be invoked when the pointing device is moved while it is in this element.
onmouseout String Yes HTML: Script to be invoked when the pointing device is moves out of this element.
onmouseover String Yes HTML: Script to be invoked when the pointing device is moved into this element.
onmouseup String Yes HTML: Script to be invoked when the pointing device is released over this element.
rendered boolean Yes A boolean value that indicates whether this component should be rendered. Default value: true.
rows int Yes Defines the maximum number of rows of data to be displayed.

Specify zero to display all rows from the "first" row to the end of available data.

sortPropertyName String Yes This attribute tells row object's property by which sorting will be performed on this column
sortable boolean Yes This attribute makes this column automaticaly sortable by a row object's property
style String Yes HTML: CSS styling instructions.
styleClass String Yes The CSS class for this element. Corresponds to the HTML 'class' attribute.
title String Yes HTML: An advisory title for this element. Often used by the user agent as a tooltip.
value Object Yes An EL expression that specifies the data model that backs this table.

The value referenced by the EL expression can be of any type.

  • A value of type DataModel is used directly.
  • Array-like parameters of type array-of-Object, java.util.List, java.sql.ResultSet or javax.servlet.jsp.jstl.sql.Result are wrapped in a corresponding DataModel that knows how to iterate over the elements.
  • Other values are wrapped in a DataModel as a single row.

Note in particular that unordered collections, eg Set are not supported. Therefore if the value expression references such an object then the table will be considered to contain just one element - the collection itself.

var String No Defines the name of the request-scope variable that will hold the current row during iteration.

During rendering of child components of this UIData, the variable with this name can be read to learn what the "rowData" object for the row currently being rendered is.

This value must be a static value, ie an EL expression is not permitted.

width String Yes This attribute can be used to set the width of the elements.