Overview | Library | Tag | Help
| FRAMES NO FRAMES

## ICE Components
Tag dataTable

Renders an HTML "table" element compliant with the HTML 401 specification. Please consult the javadoc for `UIData` to supplement this specification. If the "styleClass" attribute is specified, render its value as the value of the "class" attribute on the "table" element. Any pass-through attributes are also rendered on the "table" element.

Rendering the header

If the `UIData` component has a "header" facet, or any of the child `UIColumn` components has a "header" facet, render a "thead" element. If the `UIData` component has a "header" facet, encode its contents inside of "tr" and "th" elements, respectively. Output the value of the "headerClass" attribute of the `UIData` component, if present, as the value of the "class" attribute on the "th". Output the number of child `UIColumn` components of the `UIData` component as the value of the "colspan" attribute on the "th". Output "colgroup" as the value of the "scope" attribute on the "th" element.

If any of the child `UIColumn` components has a "header" facet render a "tr" element. For each `UIColumn` that actually has a "header" facet, render it inside of a "th" element. Columns that don't have a "header" facet cause an empty "th" element to be rendered. Output the value of the "headerClass" attribute of the `UIData` component, if present, as the value of the "class" attribute on the "th". Output "col" as the value of the "colgroup" attribute on the "th" element.

Close out the "thead" element.

Rendering the footer

Follow the same process as for the header, except replace "header" with "footer", "th" with "td", "thead" with "tfoot", and "headerClass" with "footerClass". Do not render any "scope" attribute for the footer.

Rendering the table body

Render a "tbody" element. Keep track of the result of the "rows" property on the `UIData` component. Keep track of the number of rows we have rendered so far. Iterate through the rows. Set the "rowIndex" property of the `UIData` component to be correct as we iterate through the rows. Stop rendering children and close out the "tbody" element if the "rowAvailable" property of the `UIData` returned false. Output a "tr" element. Output the value of the "rowClasses" per the attribute description below. For each `UIColumn` child, output a "td" element, attaching the value of the "columnClasses" attribute of the `UIData` component per the attribute description below. Recursively encode each child of each `UIColumn` child. Close out the "td" element. When done with the row, close out the "tr" element. When done with all the rows, close out the "tbody" element.

When done rendering all the rows, set the "rowIndex" property of the `UIData` to -1, and close out the "table" element.

Tag Information
Tag Class | com.icesoft.faces.component.DataTableTag
TagExtraInfo Class | None
Body Content | JSP
Display Name | None

Attributes
Name | Required | Request-time | Type | Description
bgcolor | false | false | `java.lang.String` | Name or code of the background color for this table.
binding | false | false | `java.lang.String` | The value binding expression linking this component to a property in a backing bean
bodyrows | false | false | `java.lang.String` | Comma separated list of row indices for which a new "tbody" element should be started (and any previously opened one should be ended).
border | false | false | `java.lang.String` | Width (in pixels) of the border to be drawn around this table.
captionClass | false | false | `java.lang.String` | Space-separated list of CSS style class(es) that will be applied to any caption generated for this table.
captionStyle | false | false | `java.lang.String` | CSS style(s) to be applied when this caption is rendered.
cellpadding | false | false | `java.lang.String` | Definition of how much space the user agent should leave between the border of each cell and its contents.
cellspacing | false | false | `java.lang.String` | Definition of how much space the user agent should leave between the left side of the table and the leftmost column, the top of the table and the top of the top side of the topmost row, and so on for the right and bottom of the table. It also specifies the amount of space to leave between cells.
clientOnly | false | false | `java.lang.String` | If false, saves the width of the columns to the server, its only applicable when resizeable = true. "true" is the default value. It helps when the width of the column needs to be preserved after the resize operation.
columnClasses | false | false | `java.lang.String` | Comma-delimited list of CSS style classes that will be applied to the columns of this table. A space separated list of classes may also be specified for any individual column. If the number of elements in this list is less than the number of columns specified in the "columns" attribute, no "class" attribute is output for each column greater than the number of elements in the list. If the number of elements in the list is greater than the number of columns specified in the "columns" attribute, the elements at the posisiton in the list after the value of the "columns" attribute are ignored. If the value of this attribute is not being set, the tableRenderer would render the default classes using the following pattern (e.g.) <td class="iceDatTblCol1" /> <td class="iceDatTblCol2" /> <td class="iceDatTblCol1" /> <td class="iceDatTblCol2" /> .... The above class pattern would allow you to define the base style in the "column" class and if you want to customize any of the specific column you can override the column+index class.
columnWidths | false | false | `java.lang.String` | A comma separated list of the widths of each column for a scrollable table. Please note that column widths must be set in pixels. This attribute does not yet support percentage column widths.
dir | false | false | `java.lang.String` | Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).
first | false | false | `java.lang.String` | Zero-relative row number of the first row to be displayed. If this property is set to zero, rendering will begin with the first row of the underlying data.
footerClass | false | false | `java.lang.String` | Space-separated list of CSS style class(es) that will be applied to any footer generated for this table. The default classe rendered as iceDatTblFtr.
frame | false | false | `java.lang.String` | Code specifying which sides of the frame surrounding this table will be visible. Valid values are: none (no sides, default value); above (top side only); below (bottom side only); hsides (top and bottom sides only); vsides (right and left sides only); lhs (left hand side only); rhs (right hand side only); box (all four sides); and border (all four sides).
headerClass | false | false | `java.lang.String` | Space-separated list of CSS style class(es) that will be applied to any header generated for this table. The default class would rendered as iceDatTblHdr.
headerClasses | false | false | `java.lang.String` | This attribute can be used to define the separate style classes for the each header of the each column. The default would rendered as : iceDatTblColHdr1, iceDatTblColHdr2 alternatively Note: The attribute has been deprecated.
id | false | false | `java.lang.String` | The component identifier for this component. This value must be unique within the closest parent component that is a naming container.
lang | false | false | `java.lang.String` | Code describing the language used in the generated markup for this component.
onclick | false | false | `java.lang.String` | No Description
ondblclick | false | false | `java.lang.String` | No Description
onkeydown | false | false | `java.lang.String` | No Description
onkeypress | false | false | `java.lang.String` | No Description
onkeyup | false | false | `java.lang.String` | No Description
onmousedown | false | false | `java.lang.String` | No Description
onmousemove | false | false | `java.lang.String` | No Description
onmouseout | false | false | `java.lang.String` | No Description
onmouseover | false | false | `java.lang.String` | No Description
onmouseup | false | false | `java.lang.String` | No Description
renderRowTabindex | false | false | `java.lang.String` | Row tabindex is required for dataTable Find feature. If Find feature is not used and the tabindex interferes with tabbing through inputs in the table, set this to false.
rendered | false | false | `java.lang.String` | Flag indicating whether or not this component should be rendered (during Render Response Phase), or processed on any subsequent form submit.
renderedOnUserRole | false | false | `java.lang.String` | If user is in given role, this component will be rendered normally. If not, nothing is rendered and the body of this tag will be skipped.
resizable | false | false | `java.lang.String` | To make columns resizable, this attribute needs to be true. Note: Only those columns of the table can be dragged which are defined as the "header" facet of a column. The headers which are defined by the "columnGroup" can not be dragged. This feature does not yet support dataTables with the 'scrollable' attribute set. This combination of features is slated for a future release.
resizableColumnWidths | false | false | `java.lang.String` | A comma separated list of the widths of each column for a resizable table. Please note that column widths must be set in pixels. This attribute does not yet support percentage column widths.
rowClasses | false | false | `java.lang.String` | Comma-delimited list of CSS style classes that will be applied to the rows of this table. A space separated list of classes may also be specified for any individual row. Thes styles are applied, in turn, to each row in the table. For example, if the list has two elements, the first style class in the list is applied to the first row, the second to the second row, the first to the third row, the second to the fourth row, etc. In other words, we keep iterating through the list until we reach the end, and then we start at the beginning again. The default classes rendered as iceDatTblRow1, iceDatTblRow2 alternatively.
rows | false | false | `java.lang.String` | The number of rows to display, starting with the one identified by the "first" property. If this value is set to zero, all available rows in the underlying data model will be displayed.
rules | false | false | `java.lang.String` | Code specifying which rules will appear between cells within this table. Valid values are: none (no rules, default value); groups (between row groups); rows (between rows only); cols (between columns only); and all (between all rows and columns).
scrollFooter | false | false | `java.lang.String` | In scrollable mode the footer scrolls as well, to trun the scrolling off it can be set to the false. The default value is true.
scrollHeight | false | false | `java.lang.String` | Set the height of the scroll table.
scrollable | false | false | `java.lang.String` | When true table is scrollable. (Note: you will also need to set columnWidths, and scrollHeight) When table is scrollable pass-thru attributes like bgcolor will not work because they are passed to the outer scrollable div only, not to the table itself. Use style classes instead. See the styleClass, rowClasses and columnClasses attributes.
sortAscending | false | false | `java.lang.String` | Sets default sort order, required for sortheader component.
sortColumn | false | false | `java.lang.String` | Sets column to be sort, required for sortheader component.
style | false | false | `java.lang.String` | CSS style(s) to be applied when this component is rendered.
styleClass | false | false | `java.lang.String` | Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup. the default class rendered as iceDatTbl. if enabled iceDatTbl iceDatTblCol iceDatTblCol1 iceDatTblCol2 iceDatTblColHdr iceDatTblColHdr1 iceDatTblColHdr2 iceDatTblRow1 iceDatTblRow2 iceDatTblHdr iceDatTblFtr iceDatTblScrlHdrTbl iceDatTblScrlBdyTbl The following style class is being rendered for the div of the "header" if the dataTable is scrollable. iceDatTblScrlSpr The following style class is being rendered for active sortable column header. iceDatTblActvSrtHdr
summary | false | false | `java.lang.String` | Summary of this table's purpose and structure, for user agents rendering to non-visual media such as speech and Braille.
title | false | false | `java.lang.String` | Advisory title information about markup elements generated for this component.
value | false | false | `java.lang.String` | The data model for this component.
var | false | false | `java.lang.String` | Name of a request-scope attribute under which the model data for the row selected by the current value of the "rowIndex" property (i.e. also the current value of the "rowData" property) will be exposed.
varStatus | false | false | `java.lang.String` | Name of a request-scope attribute under which the current indexed state will be exposed. This is modeled after the Facelets JSTL c:forEach varStatus. The varStatus object has 5 sub-properties: int begin Corresponds to the UIData container's first property, the index at which it begins iteration. int end The ending index of iteration, corresponding to the UIData container's first plus rows minus 1. Note: If the UIData's DataModel's isRowAvailable() method returns false, prematurely ending iteration, then the actual ending index may not equal the value for this end property. int index The current iteration index. Corresponding to the UIData container's getRowIndex() value, which also corresponds with the UIData's DataModel's getRowIndex() value. boolean first Defined simply as: varStatus.index == varStatus.begin boolean last Defined simply as: varStatus.index == varStatus.end. Note: This has the same limitations as the end property.
width | false | false | `java.lang.String` | Width of the entire table, for visual user agents.

Variables
| No Variables Defined.

Overview | Library | Tag | Help
| FRAMES NO FRAMES

Output Generated by Tag Library Documentation Generator. Java, JSP, and JavaServer Pages are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries. Copyright 2002-4 Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054, U.S.A. All Rights Reserved.