ICEfaces ACE Components
Tag dataTable


Renders an HTML table element. This table and its associated components offers support for features like: scrolling, sorting, filtering, row selection, row editing, lazy loading and expandable subrows and subpanels.

For more information, see the DataTable Wiki Documentation.


Client Events
NameDescriptionSupported classes for argument
pageFired when the page is changed on the DataTable.javax.faces.event.AjaxBehaviorEvent
selectFired when a row or cell is selected on the DataTable.javax.faces.event.AjaxBehaviorEvent
deselectFired when a row or cell is deselected on the DataTable.javax.faces.event.AjaxBehaviorEvent
sortFired when a change to the current sort occurs on the DataTable.javax.faces.event.AjaxBehaviorEvent
filterFired when a change to the current filters occurs on the DataTable.javax.faces.event.AjaxBehaviorEvent
reorderFired when a column is dragged and dropped into a new ordering.javax.faces.event.AjaxBehaviorEvent
editStartFired when a row is enabled for editing.javax.faces.event.AjaxBehaviorEvent
editSubmitFired when a row is submits its edits.javax.faces.event.AjaxBehaviorEvent
editCancelFired when a row cancels an in-progress edit.javax.faces.event.AjaxBehaviorEvent
expandFired when a child ExpansionToggler component is clicked to expand.javax.faces.event.AjaxBehaviorEvent
contractFired when a child ExpansionToggler component is clicked to contract.javax.faces.event.AjaxBehaviorEvent
pinFired when a column is added to the pinning region of the table.javax.faces.event.AjaxBehaviorEvent
unpinFired when a column is removed to the pinning region of the table.javax.faces.event.AjaxBehaviorEvent
Client events can be used with Client Behaviors and the ace:ajax tag.


Tag Information
Tag Classorg.icefaces.ace.component.datatable.DataTableTag
TagExtraInfo ClassNone
Body ContentJSP
Display NameNone

Attributes
NameRequiredRequest-timeTypeDescription
alwaysExecuteContentsnofalsejava.lang.BooleanEnable the decoding of child components during table feature requests. The table attempts to decode children whenever it is executed, meaning whenever a parent region is submitted, or the table submits itself to paginate, make a selection, reorder columns, or any other feature. Decoding children during feature requests can result in unwanted input submission (during pagination for example), so by default this component suppresses child decoding whenever submitting itself. To cause decoding in the children of the table, use the row editing feature for row-scoped input decoding, ajax submit the form (or other table parent) for broad decodingor enable this option to submit during all table operations. Default = 'false'.
bindingnofalsejavax.el.ValueExpressionUsing an EL expression, bind the component reference to a bean property, so that the component may be accessed in the bean.
clickableHeaderSortingnofalsebooleanEnabling makes the entire header container the clickable region for sort events. Default = 'true'.
columnOrderingnofalsejava.util.ListDefines a list of integers representing a rendering order for the Column children of the table.
columnPinningnofalsebooleanEnable statically positioned columns along the left hand side of a scrollable table.
columnPinningControlsInHeadernofalsebooleanEnable client controls to add column to the list of statically positioned columns.
constantRefilternofalsebooleanEnable to force creation of the filtered data set from the bound value every render. Alternately attempt to use hashCodes of the value property to detect changes and prompt refiltering. Default = 'false'.
currentPageReportTemplatenofalsejava.lang.StringDefines a coded string representing the layout of the text displaying the current page. Default is: "{currentPage} of {totalPages}".
disablednofalsebooleanDisable all features of the data table. Default = 'false'.
doubleClickSelectnofalsebooleanEnable to require a double-click to fire row/cell selection events.
emptyMessagenofalsejava.lang.StringDefine a string to render when there are no records to display.
filterEventnofalsejava.lang.StringDefines the Javascript event on which to trigger filter event, ex. 'keyup', 'blur', 'change' and 'enter'. Default = 'change'.
filterListenernofalsejavax.el.MethodExpressionMethodExpression reference called whenever the table row is filtered. The method receives a single argument, TableFilterEvent.
filterValuenofalsejava.lang.StringDefines the input to the column non-specific filter, coming from the client, or from the app via a value binding.
firstnofalseintZero-relative row number of the first row in the underlying data model to be displayed, or zero to start at the beginning of the data model. Default = '0'.
groupedFilterResultsnofalsebooleanEnable to display all members of groups (as defined by ace:column groupBy) that contain a matching row during filtering.
heightnofalsejava.lang.IntegerDefines a fixed height for the scrollable table in pixels. Deprecated; superseded by scrollHeight.
hiddenScrollableSizingnofalsejava.lang.BooleanEnable the default handling of the scrollable table when rendered into a hidden page region. The table attempts to poll its hidden status, looking for when it is shown and then call the scrollable table sizing JavaScript. This can be expensive in environments of reduced JavaScript performance with many tables and a complex DOM. When this is disabled, upon revealing a hidden scrollable table, to ensure it is sized correctly the JS 'tableWidgetVar.resizeScrolling()' function must be called. Default = 'true'.
idnofalsejava.lang.StringThe component identifier for this component. This value must be unique within the closest parent component that is a naming container.
lazynofalsebooleanEnables lazy loading. Lazy loading expects the 'value' property to reference an instance of LazyDataModel, an interface to support incremental fetching of table entities.
liveScrollnofalsebooleanEnables the table to insert additional rows as scrolling reaches the bottom of the table. The 'rows' property configures the number of new rows to be loaded. Note: This feature is deprecated as of version 3.1 and is not supported. This property will be removed in a future release.
pagenofalseintDefines the index of the current page, beginning at 1.
pageCountnofalsejava.lang.IntegerDefines the maximum number of individual page links to display in paginator. Default = '10'.
paginatornofalsebooleanEnables pagination on the table. Note that the paginator works by adjusting the 'first' and 'page' properties and that disabling the paginator will not return these properties to their defaults; instead leaving the table at the position that was paginated to. To return the table to the first page, 'first' must be set to 0, or 'page' must be set to 1.Alternately the table has a convenience method for this, DataTable.resetSorting().
paginatorAlwaysVisiblenofalsebooleanDefines whether the paginator always displays, even when fewer then 1 page full of items are displayed.
paginatorPositionnofalsejava.lang.StringDefines the location of the paginator if enabled. Available options are top, bottom, or the default, both. Default = 'both'.
paginatorTemplatenofalsejava.lang.StringDefines a coded string representing the controls available as part of the paginator. Default is: "{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}".
renderednofalsebooleanReturn true if this component (and its children) should be rendered during the Render Response phase of the request processing lifecycle. Default = 'true'.
reorderableColumnsnofalsebooleanEnable reordering of the table columns via header dragging.
resizableColumnsnofalsebooleanEnable resizing of the table columns via handles on the column headers.
rowIndexnofalseintZero-relative index of the row currently being accessed in the underlying DataModel, or -1 for no current row. Default = '0'.
rowIndexVarnofalsejava.lang.StringThe request-scope attribute (if any) under which the data object index for the current row will be exposed when iterating.
rowSelectListenernofalsejavax.el.MethodExpressionMethodExpression reference called whenever a table element is selected. The method receives a single argument, RowSelectEvent.
rowStateVarnofalsejava.lang.StringThe request-scope attribute (if any) under which the table state object for the current row will be exposed when iterating. Default = 'rowState'.
rowStyleClassnofalsejava.lang.StringDefine css classes for each row of the dataTable. EL can be used in this attribute to produce conditional row styling.
rowUnselectListenernofalsejavax.el.MethodExpressionMethodExpression reference called whenever a table element is deselected. The method receives a single argument, RowUnselectEvent.
rowsnofalseintThe number of rows to be displayed, or zero to display the entire set of available rows. Default = '0'.
rowsPerPageTemplatenofalsejava.lang.StringDefines a list of comma separated integer values that represent the options of "number of items per page" presented to the user. "all" is a special keyword that allowsa user to reset the pagination offset show all rows. The "all" option label is defined by the message key "org.icefaces.ace.component.datatable.ALL_LABEL". Any non-numerical value other than "all" will cause a NumberFormatException.
scrollHeightnofalsejava.lang.IntegerDefines a fixed height for the scrollable table in pixels. Default = '100'.
scrollWidthIE7nofalsejava.lang.StringWhen using the DataTable scrollable mode, the IE7 configuration gives an equal width to evey column, and defaults to 100% width. This implies there is never a horizontal scrollbar for the table, unless a fixed width is used on the table or the container of the table. Ratherthan doing this via CSS, this property will apply (via JS) the given width and necessary overflow rules to the ancestors of the DataTable elements to produce a scrollbar.Other browsers will produce a horizontal scrollbar automatically when required and this property is ignored.
scrollablenofalsebooleanEnabling renders a table that overflows the fixed height and adds a scrollbar. Note, used in combination with multi-row headers defined by a ColumnGroupcomponent, it is assumed that every body column of the table will have a associated single column spanning header column on the bottom row of the multi-row header. This is to allow for appropriate sizing of the scrollable column and the associated header td. Note,in IE7, the CSS/DOM engine doesn't suport the dynamic adjustments required for this feature andinstead the feature uses a fixed, equal size for each column of the table.
selectedCellsnofalseorg.icefaces.ace.model.table.CellSelections[]Defines an array to be populated with objects referencing selected table cells and the rows they originate from.
selectionModenofalsejava.lang.StringDefines a code word indicating method of table element selection. Available values include: "multiple", "single", "cellblock", "cellrange" and "singlecell".
singleSortnofalsebooleanDisables sorting for multiple columns at once. Sorting is enabled by the use of sortBy on ace:column components. Default = 'false'.
stateMapnofalseorg.icefaces.ace.model.table.RowStateMapDefines a map of your row data objects to UI states. Row-level features (selection, expansion, etc.) are manipulable through this repository.
staticHeadersnofalsejava.lang.BooleanEnable the default scrollable table behaviour of using JavaScript to size a table header and footer that are in a fixed position regardless of table body scrolling. Default = 'true'.
stylenofalsejava.lang.StringCustom inline CSS styles to use for this component. These styles are generally applied to the root DOM element of the component. This is intended for per-component basic style customizations. Note that due to browser CSS precedence rules, CSS rendered on a DOM element will take precedence over the external stylesheets used to provide the ThemeRoller theme on this component. If the CSS properties applied with this attribute do not affect the DOM element you want to style, you may need to create a custom theme styleClass for the theme CSS class that targets the particular DOM elements you wish to customize.
styleClassnofalsejava.lang.StringCustom CSS style class(es) to use for this component. These style classes can be defined in your page or in a theme CSS file.
tabIndexnofalsejava.lang.IntegerDefines a tabindex to be shared by all keyboard navigable elements of the table. This includes sort controls, filter fields and individual rows themselves. Default = '0'.
toggleOnInvalidEditnofalsejava.lang.BooleanEnable the the client to revert the edited row with the default state following a failed edit. By default when validation fails during a row editing request the row remains in editing mode. Default = 'false'.
valuenofalsejava.lang.ObjectThe DataModel instance representing the data to which this component is bound, or a collection of data for which a DataModel instance is synthesized.
varnofalsejava.lang.StringThe request-scope attribute (if any) under which the data object for the current row will be exposed when iterating.
widgetVarnofalsejava.lang.StringThe JavaScript global component instance name. Must be unique among components on a page.

Variables
No Variables Defined.


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.