Documentation
Project Documentation
Foundation

Summary

Tag name: <s:autoUpdateDataTable>
UIComponent class: org.apache.myfaces.custom.autoupdatedatatable.AutoUpdateDataTable
Tag class: org.apache.myfaces.custom.autoupdatedatatable.AutoUpdateDataTableTag
Component type: org.apache.myfaces.AutoUpdateDataTable
Component family: javax.faces.Data
Renderer type: org.apache.myfaces.AutoUpdateDataTable
Renderer class: org.apache.myfaces.custom.autoupdatedatatable.AutoUpdateDataTableRenderer

Extended data_table that adds some additional features to the standard data_table action: see attribute descriptions for preserveDataModel, sortColumn, sortAscending and preserveSort. NOTE: This component is deprecated. Use periodicalUpdate mechanism of partial page rendering instead

Screen Shot

autoUpdateDataTable

Usage

<s:autoUpdateDataTable [ all standard dataTable attributes allowed ]
                [ preserveDataModel="{true|false}" ]
                [ forceIdIndexFormula="value-binding" ]
                [ sortColumn="value-binding" ]
                [ sortAscending="value-binding" ]
                [ preserveSort="{true|false}" ]
                [ frequency="value-binding" ]>
                standard dataTable body (<h:column> tags and optional "header" and "footer" facets)
                </t:command_sortheader>
                <s:autoUpdateDataTable>

Instructions

THIS COMPONENT IS DEPRECATED!.

frequency - defines the time in seconds between the Ajax-Requests

Note - This component is different to others, it uses Ajax mechanisms to fetch data from the server, thus the backend binding can and will be used outside of the standard JSF lifecycle to deliver the data.

Use the autoUpdateDataTable tag always within a form tag.

It is also not very advisable, to put some input fields (or checkboxes, radio buttons, etc.) into the dataTable, since after every submit (which happens periodically) all the form data is cleared.

see examples/ajaxDataTableSingle.jsp for an example.

Supported Facets

Name Required Description
footer false
header false
spacer false Gets the spacer facet, between each pair of newspaper columns.

Attributes

Name Type Supports EL? Description
align String Yes HTML: Specifies the horizontal alignment of this element. Deprecated in HTML 4.01.
bgcolor String Yes HTML: The background color of this element.
binding String 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.
bodyStyle String Yes Corresponds to the HTML style attribute for the table body tag
bodyStyleClass String Yes Corresponds to the HTML class attribute for the table body tag.
border int Yes HTML: Specifies the width of the border of this element, in pixels. Deprecated in HTML 4.01.
cellpadding String Yes HTML: Specifies the amount of empty space between the cell border and its contents. It can be either a pixel length or a percentage.
cellspacing String Yes HTML: Specifies the amount of space between the cells of the table. It can be either a pixel length or a percentage of available space.
columnClasses String Yes A comma separated list of CSS class names to apply to td elements in each column.
datafld String Yes Reserved for future use.
dataformatas String Yes Reserved for future use.
datasrc String Yes Reserved for future use.
detailStampExpandedDefault boolean Yes true|false - true if the detailStamp should be expanded by default. default: false
detailStampLocation String Yes before|after - where to render the detailStamp, before the actual row or after it. default: after
dir String Yes HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).
embedded boolean Yes Avoids rendering the html table tags, thus, giving you a table rendering just rows. You can use this together with the detailStamp faces of the parent datatable to render child-tables using the same layout as the parent. Notice: You have to ensure both tables do have the same number of columns. Using the colspan attribute of the column tag might help alot.
enabledOnUserRole String Yes If user is in given role, this component will be rendered normally. If not, no hyperlink is rendered but all nested tags (=body) are rendered.
first int Yes The index of the first row to be displayed, where 0 is the first row.
footerClass String Yes The CSS class to be applied to footer cells.
forceId boolean No If true, this component will force the use of the specified id when rendering.
forceIdIndex boolean No If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components that are contained within a "list." This value will be true by default and the value will be ignored if the value of forceId is false (or not specified.)
forceIdIndexFormula String Yes A formula that overrides the default row index in the construction of table's body components. Example : #{myRowVar.key} Warning, the EL should evaluate to a unique value for each row !
frame String Yes HTML: Controls what part of the frame that surrounds a table is visible. Values include: void, above, below, hsides, lhs, rhs, vsides, box, and border.
frequency String Yes Defines in seconds the interval of reloads. if no value is specified 2 seconds will be default.
headerClass String Yes The CSS class to be applied to header cells.
id String Yes An identifier for this particular component instance within a component view.

The id must be unique within the scope of the tag's enclosing NamingContainer (eg h:form or f:subview). The id is not necessarily unique across all components in the current view

This value must be a static value, ie not change over the lifetime of a component. It cannot be defined via an EL expression; only a string is permitted.

lang String Yes HTML: The base language of this document.
newspaperColumns int Yes The number of columns to wrap the table over. Default: 1 Set the number of columns the table will be divided over.
newspaperOrientation String Yes The orientation of the newspaper columns in the newspaper table - "horizontal" or "vertical". Default: vertical
onSuccess String Yes Define javascript function to call after successful refresh.
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.
preserveDataModel boolean Yes Indicates whether the state of the whole DataModel should be saved and restored. When set to false, the value-binding for the "value" attribute of this table is executed each time the page is rendered. When set to true, that value-binding is only executed when the component is first created, and the DataModel state is thereafter saved/restored automatically by the component. When column sorting is used for a table this property needs to be false so that the DataModel can be updated to reflect any changes in the sort criteria. Default: false
preserveRowStates boolean Yes Indicates whether the state for each row should not be discarded before the datatable is rendered again. Setting this to true might be hepful if an input component inside the datatable has no valuebinding and the value entered in there should be displayed again. This will only work reliable if the datamodel of the datatable did not change either by sorting, removing or adding rows. Default: false
preserveSort boolean Yes Indicates whether the state of the sortColumn and sortAscending attribute should be saved and restored and written back to the model during the update model phase. Default: true
previousRowDataVar String Yes A parameter name, under which the previous RowData Object is set in request scope similar to the rowIndexVar and rowCountVar parameters. Mind that the value of this request scope attribute is null in the first row or when isRowAvailable returns false for the previous row.
rendered boolean Yes A boolean value that indicates whether this component should be rendered. Default value: true.
renderedIfEmpty boolean Yes Indicates whether this table should be rendered if the underlying DataModel is empty. You could as well use rendered="#{not empty bean.list}", but this one causes the getList method of your model bean beeing called up to five times per request, which is not optimal when the list is backed by a DB table. Using renderedIfEmpty="false" solves this problem, because the MyFaces extended HtmlDataTable automatically caches the DataModel and calles the model getter only once per request. Default: true
rowClasses String Yes A comma separated list of CSS class names to apply to td elements in each row.
rowCountVar String Yes A parameter name, under which the rowCount is set in request scope similar to the var parameter.
rowGroupStyle String Yes Corresponds to the HTML style attribute for grouped rows.
rowGroupStyleClass String Yes StyleClass for grouped rows.
rowId String Yes The id to use for
rowIndexVar String Yes A parameter name, under which the current rowIndex is set in request scope similar to the var parameter.
rowOnClick String Yes Defines a JavaScript onclick event handler for each table row
rowOnDblClick String Yes Defines a JavaScript ondblclick event handler for each table row
rowOnKeyDown String Yes Defines a JavaScript onkeydown event handler for each table row
rowOnKeyPress String Yes Defines a JavaScript onkeypress event handler for each table row
rowOnKeyUp String Yes Defines a JavaScript onkeyup event handler for each table row
rowOnMouseDown String Yes Defines a JavaScript onmpusedown event handler for each table row
rowOnMouseMove String Yes Defines a JavaScript onmousemove event handler for each table row
rowOnMouseOut String Yes Defines a JavaScript onmouseout event handler for each table row
rowOnMouseOver String Yes Defines a JavaScript onmouseover event handler for each table row
rowOnMouseUp String Yes Defines a JavaScript onmouseup event handler for each table row
rowStyle String Yes Corresponds to the HTML style attribute for the row tr tag.
rowStyleClass String Yes Corresponds to the HTML class attribute for the row tr tag.
rows int Yes The number of rows to be displayed. Specify zero for all remaining rows in the table.
rules String Yes HTML: Controls how rules are rendered between cells. Values include: none, groups, rows, cols, and all.
sortAscending boolean Yes Value reference to a model property that gives the current sort direction. The target Boolean property is set to true when the selected sortColumn should be sorted in ascending order, and false otherwise. The method which is bound to the "value" attribute of this table (ie which provides the DataModel used) is expected to use this property to determine how to sort the DataModel's contents.
sortColumn String Yes Value reference to a model property that gives the current sort column name. The target String property is set to the "columnName" of whichever column has been chosen to sort by, and the method which is bound to the "value" attribute of this table (ie which provides the DataModel used) is expected to use this property to determine how to sort the DataModel's contents.
sortable boolean Yes Define if the table is sortable or not
sortedColumnVar String Yes A parameter name, under which the a boolean is set in request scope similar to the var parameter. TRUE for the column that is currently sorted, FALSE otherwise.
style String Yes HTML: CSS styling instructions.
styleClass String Yes The CSS class for this element. Corresponds to the HTML 'class' attribute.
summary String Yes HTML: Provides a summary of the contents of the table, for accessibility purposes.
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 can be of any type. A value of type DataModel is used directly. Array-like parameters of type java.util.List, array of Object, java.sql.ResultSet, or javax.servlet.jsp.jstl.sql.Result are wrapped in a DataModel. Other values are wrapped in a DataModel as a single row.
valueType String Yes Indicate the expected type of the EL expression pointed by value property. It is useful when vb.getType() cannot found the type, like when a map value is resolved on the expression.
var String No Defines the name of the request-scope variable that will hold the current row during iteration. This value must be a static value.
varDetailToggler String Yes This variable has the boolean property "currentdetailExpanded" which is true if the current detail row is expanded and the action method "toggleDetail" which expand/collapse the current detail row.
visibleOnUserRole String Yes 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.
width String Yes HTML: Specifies the desired width of the table, as a pixel length or a percentage of available space.