# rich

## Tag extendedDataTable

- Description:

    The <rich:extendedDataTable> component builds on the functionality of the <rich:dataTable> component, adding features such as scrolling for the table body (both horizontal and vertical), Ajax loading for vertical scrolling, frozen columns, row selection, and rearranging of columns. It also supports all the basic table features such as sorting, filtering, and paging using the <rich:dataScroller> component.

    @author Konstantin Mishin

- Component Information
  Info | Value
  --- | ---
  Component Type | `org.richfaces.ExtendedDataTable`
  Handler Class | `org.richfaces.taglib.ExtendedDataTableHandler`
  Renderer Type | `org.richfaces.ExtendedDataTableRenderer`
  Description | The <rich:extendedDataTable> component builds on the functionality of the <rich:dataTable> component, adding features such as scrolling for the table body (both horizontal and vertical), Ajax loading for vertical scrolling, frozen columns, row selection, and rearranging of columns. It also supports all the basic table features such as sorting, filtering, and paging using the <rich:dataScroller> component. @author Konstantin Mishin

- Attributes
  Name | Required | Type | Description
  --- | --- | --- | ---
  `binding` | `false` | `javax.el.ValueExpression` (must evaluate to `javax.faces.component.UIComponent`) | The value binding expression used to wire up this component to a component property of a JavaBean class
  `clientRows` | `false` | `javax.el.ValueExpression` (must evaluate to `int`) | Use to switch Extended Data Table to AJAX lazy-loading mode. Specify number of rows rows to be loaded with one request. If this attribute is set to "0", all rows are loaded. (Default value: 0)
  `columnClasses` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Assigns one or more space-separated CSS class names to the columns of the table. If the CSS class names are comma-separated, each class will be assigned to a particular column in the order they follow in the attribute. If you have less class names than columns, the class will be applied to every n-fold column where n is the order in which the class is listed in the attribute. If there are more class names than columns, the overflow ones are ignored.
  `columnsOrder` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String[]`) | Determines the order in which the columns should be rendered, left to right. The Strings are the ids of the columns.
  `data` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Object`) | Serialized (on default with JSON) data passed to the client by a developer on an AJAX request. It's accessible via "event.data" syntax. Both primitive types and complex types such as arrays and collections can be serialized and used with data
  `filterVar` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Name of the variable used in EL expression provided in filterExpression in order to decide about displaying particular row.
  `first` | `false` | `javax.el.ValueExpression` (must evaluate to `int`) | A zero-relative row number of the first row to display
  `footerClass` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Space-separated list of CSS style class(es) that will be applied to any footer generated for this column.
  `frozenColumns` | `false` | `javax.el.ValueExpression` (must evaluate to `int`) | Determines how many columns should not be vertically scrollable (should be "frozen").
  `headerClass` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Space-separated list of CSS style class(es) that will be applied to any header generated for this column.
  `id` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The component identifier for this component. This value must be unique within the closest parent component that is a naming container.
  `iterationStatusVar` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Provides access to the iteration status in a Request scope
  `keepSaved` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | Boolean attribute that defines whether this iteration component will reset saved children's state before rendering. By default state is reset if there are no faces messages with severity error or higher
  `limitRender` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | If "true", render only those ids specified in the "render" attribute, forgoing the render of the auto-rendered panels
  `noDataLabel` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The label to be displayed when table contains no rows (no data provided).
  `onbeforedomupdate` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called after the ajax response comes back, but before the DOM is updated
  `onbeforeselectionchange` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called before the selection is changed.
  `oncomplete` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called after the DOM is updated
  `onready` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called after the EDT has been initialized, either after a page load, and an ajax update.
  `onrowclick` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is clicked over table row.
  `onrowdblclick` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is double clicked over table row.
  `onrowkeydown` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is pressed down over table row.
  `onrowkeypress` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is pressed and released over table row.
  `onrowkeyup` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is released over table row.
  `onrowmousedown` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is pressed down over table row.
  `onrowmousemove` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved within table row.
  `onrowmouseout` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved away from table row.
  `onrowmouseover` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved onto table row.
  `onrowmouseup` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is released over table row.
  `onselectionchange` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called after the selection is changed.
  `render` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Object`) | IDs of components that will participate in the "render" portion of the Request Processing Lifecycle. Can be a single ID, a space or comma separated list of Id's, or an EL Expression evaluating to an array or Collection. Any of the keywords "@this", "@form", "@all", "@none", "@region" may be specified in the identifier list. Some components make use of additional keywords
  `rendered` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | Flag indicating whether or not this component should be rendered (during Render Response Phase), or processed on any subsequent form submit. The default value for this property is true.
  `resetValues` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | If true, indicate that this particular Ajax transaction is a value reset transaction. This will cause resetValue() to be called on any EditableValueHolder instances encountered as a result of this ajax transaction. If not specified, or the value is false, no such indication is made.
  `rowClass` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Assigns one or more space-separated CSS class names to the table cells
  `rowClasses` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Assigns one or more space-separated CSS class names to the rows of the table. If the CSS class names are comma-separated, each class will be assigned to a particular row in the order they follow in the attribute. If you have less class names than rows, the class will be applied to every n-fold row where n is the order in which the class is listed in the attribute. If there are more class names than rows, the overflow ones are ignored.
  `rowKeyConverter` | `false` | `javax.el.ValueExpression` (must evaluate to `javax.faces.convert.Converter`) | Converter for a row key object
  `rowKeyVar` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Provides access to the row key in a Request scope
  `rows` | `false` | `javax.el.ValueExpression` (must evaluate to `int`) | The number of rows to display, or zero for all remaining rows in the table
  `selection` | `false` | `javax.el.ValueExpression` (must evaluate to `java.util.Collection`) | The collection of keys for currently selected table rows (generated from data model by rowKeyConverter).
  `selectionMode` | `false` | `javax.el.ValueExpression` (must evaluate to `org.richfaces.model.SelectionMode`) | Defines selection mode for the table: none, single (only one row can be selected), multiple (Ctrl/Shift keys are used for multi-selection), multipleKeyboardFree (clicks are used for multi-selection)
  `sortMode` | `false` | `javax.el.ValueExpression` (must evaluate to `org.richfaces.model.SortMode`) | Specifies when table will be sorted according to one column (single) or multiple columns (multi).
  `sortPriority` | `false` | `javax.el.ValueExpression` (must evaluate to `java.util.Collection`) | Comma-separated list of column names determining priority of row sorting.
  `stateVar` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Provides access to the state in a Request scope
  `style` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | CSS style(s) to be applied when this component is rendered.
  `styleClass` | `false` | `javax.el.ValueExpression` (must evaluate to `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.
  `tableState` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | ValueBinding pointing at a property of a String to hold table state
  `value` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Object`) | Points to the data model
  `var` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | A request-scope attribute via which the data object for the current row will be used when iterating

Output generated by Vdldoc View Declaration Language Documentation Generator.