Client Events |
Name | Description | Supported Classes for Argument | Default Event Scopes |
|
page | Fired when the page is changed on the DataTable. | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@all |
rowsPerPage | Fired when the rows per page is changed on the DataTable via the paginator control. | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@all |
cellClick | Fired when a cell is clicked on the DataTable. | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@all |
cellDblClick | Fired when a cell is double clicked on the DataTable. | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@all |
select | Fired when a row or cell is selected on the DataTable. | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@all |
deselect | Fired when a row or cell is deselected on the DataTable. | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@all |
sort | Fired when a change to the current sort occurs on the DataTable. | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@all |
filter | Fired when a change to the current filters occurs on the DataTable. | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@all |
reorder | Fired when a column is dragged and dropped into a new ordering. | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@all |
editStart | Fired when a row is enabled for editing. | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@this |
editSubmit | Fired when a row is submits its edits. | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@all |
editCancel | Fired when a row cancels an in-progress edit. | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@this |
expand | Fired when a child ExpansionToggler component is clicked to expand (Note: for nested tables, the execute value should be @form or @all for the expansion to work). | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@all |
contract | Fired when a child ExpansionToggler component is clicked to contract (Note: for nested tables, the execute value should be @form or @all for the contraction to work). | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@all |
pin | Fired when a column is added to the pinning region of the table. | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@this |
unpin | Fired when a column is removed to the pinning region of the table. | javax.faces.event.AjaxBehaviorEvent | execute=@this render=@this |
find | Fired for a find request. | org.icefaces.ace.event.DataTableFindEvent | execute=@all render=@all |
Attributes |
Name | Required | Request-time | Type | Description |
accesskey | no | true | java.lang.String | Access key that, when pressed, transfers focus to this component. |
allColumnClicks | no | true | boolean | Enable to have all column clicks accepted as selection and/or ajax click events. Typically only click eventsthat occur on a child div, span, or the td element itself are captured for processing. |
allowTableResizing | no | true | boolean | When 'resizableColumns' is enabled, allow the table to also increase or decrease in width proportionally to the column being resized. In the normal mode, when resizing a column, tables maintain their original widths, and a specific column is made wider by making other columns narrower. HTML has a limitation that prevents table columns to be narrower than their contents. This mode is mainly oriented to tables that have too many columns that they can't fit in the viewport width, resulting impossible to make a column wider in the normal mode due to this HTML limitation. |
alwaysExecuteContents | no | true | java.lang.Boolean | Enable 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'. |
binding | no | true | javax.el.ValueExpression | Using an EL expression, bind the component reference to a bean property, so that the component may be accessed in the bean. |
caption | no | true | java.lang.String | Causes a caption element to be rendered with the specified text, in order to facilitate better screen reader support and accessibility for this table. |
clickableHeaderSorting | no | true | boolean | Enabling makes the entire header container the clickable region for sort events. Default = 'true'. |
columnOrdering | no | true | java.util.List | Defines a list of integers representing a rendering order for the Column children of the table. |
columnPinning | no | true | boolean | Enable statically positioned columns along the left hand side of a scrollable table (i.e. the 'scrollable' attribute must be set to 'true' for this feature to work). |
columnPinningControlsInHeader | no | true | boolean | Enable client controls to add column to the list of statically positioned columns. |
columnsInheritProperties | no | true | boolean | To reduce redundancy in markup, body columns can detect which header column that they correspond to, and inherit sorting, filtering and grouping properties from it. Previously, it was necessary to provide the same properties and values on both components, but now it's possible to specify them on the header column, and have the body column inherit them automatically. If a property is specified on the body column, then that will take precedence for it. Default = 'true'. |
constantRefilter | no | true | boolean | Enable 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'. |
currentPageReportTemplate | no | true | java.lang.String | Defines a coded string representing the layout of the text displaying the current page. The keywords available are {currentPage}, {totalPages}, {startRecord}, {endRecord}, and {totalRecords}. Default is: "({currentPage} of {totalPages})". |
disabled | no | true | boolean | Disable all features of the data table. Default = 'false'. |
doubleClickSelect | no | true | boolean | Enable to require a double-click to fire row/cell selection events. |
emptyMessage | no | true | java.lang.String | Define a string to render when there are no records to display. The 'emptyMessage' facet takes precedence over this attribute. |
filterEvent | no | true | java.lang.String | Defines the Javascript event on which to trigger filter event, ex. 'keyup', 'blur', 'change' and 'enter' (Note: columns filtered based on Date values always trigger the event on change). Default = 'change'. |
filterListener | no | true | javax.el.MethodExpression | MethodExpression reference called whenever the table row is filtered. The method receives a single argument, TableFilterEvent. |
filterValue | no | true | java.lang.String | Defines the input to the column non-specific filter, coming from the client, or from the app via a value binding. |
first | no | true | int | Zero-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'. |
groupedFilterResults | no | true | boolean | Enable to display all members of groups (as defined by ace:column groupBy) that contain a matching row during filtering. |
headerColumnOrdering | no | true | java.util.List | Defines a list of integers representing a rendering order for the Column children of the header columnGroup. This is separate from the columnOrdering property to maintain backwards compatibility and simplify application code when columns are added or removed. Both properties should be maintained in sync with each other. |
hiddenScrollableSizing | no | true | java.lang.Boolean | Enable 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 resizeScrolling() function must be called on the table instance in the client side. Default = 'true'. |
id | no | true | java.lang.String | The component identifier for this component. This value must be unique within the closest parent component that is a naming container. |
lazy | no | true | boolean | Enables lazy loading. Lazy loading expects the 'value' property to reference an instance of LazyDataModel, an interface to support incremental fetching of table entities. Note that it is necessary that the data object implement custom hashCode() and equals() methods for advanced features to work correctly. see wiki for more information. |
liveScroll | no | true | boolean | When set to true, a number of rows will be automatically loaded after reaching the bottom of the table scroll bar. The rows correspond to the data items in the data model that follow the rows currently displayed. The number of rows to load is determined by the 'rows' and the 'liveScrollBufferPages' attributes. |
liveScrollBufferPages | no | true | java.lang.Integer | When using live scrolling, the number of pages specified by this attribute will be rendered before and after the current page. This means that if the value is 2, there will be 5 pages worth of rows displayed on the table. Default = '2'. |
page | no | true | int | Defines the index of the current page, beginning at 1. |
pageCount | no | true | java.lang.Integer | Defines the maximum number of individual page links to display in paginator. Default = '10'. |
pagesToSkip | no | true | int | Defines the number of pages to skip when pressing the FastRewind and FastForward buttons. Default = '3'. |
paginator | no | true | boolean | Enables 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.resetPagination(). |
paginatorAccesskey | no | true | java.lang.String | Access key that, when pressed, transfers focus to the current page button. |
paginatorAlwaysVisible | no | true | boolean | Defines whether the paginator always displays, even when fewer then 1 page full of items are displayed. |
paginatorPosition | no | true | java.lang.String | Defines the location of the paginator if enabled. Available options are top, bottom, or the default, both. Default = 'both'. |
paginatorTemplate | no | true | java.lang.String | Defines a coded string representing the controls available as part of the paginator. Default is: "{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}". The {FastRewind} and {FastForward} controls are also available. They skip a number of pages backward or forward, respectively. This number is defined by the 'pagesToSkip' property. |
renderRowTabindex | no | true | boolean | Row tabindex is required for dataTable Find feature and for selecting rows by using the keyboard. If the Find or Row Selection features are not used and the tabindex interferes with tabbing through inputs in the table, set this to false. Default = 'true'. |
rendered | no | true | boolean | Return true if this component (and its children) should be rendered during the Render Response phase of the request processing lifecycle. Default = 'true'. |
reorderableColumns | no | true | boolean | Enable reordering of the table columns via header dragging. |
resizableColumns | no | true | boolean | Enable resizing of the table columns via handles on the column headers. |
rowIndex | no | true | int | Zero-relative index of the row currently being accessed in the underlying DataModel, or -1 for no current row. Default = '0'. |
rowIndexVar | no | true | java.lang.String | The request-scope attribute (if any) under which the data object index for the current row will be exposed when iterating. |
rowSelectListener | no | true | javax.el.MethodExpression | MethodExpression reference called whenever a table element is selected. The method receives a single argument, SelectEvent. |
rowStateVar | no | true | java.lang.String | The request-scope attribute (if any) under which the table state object for the current row will be exposed when iterating. Default = 'rowState'. |
rowStyleClass | no | true | java.lang.String | Define css classes for each row of the dataTable. EL can be used in this attribute to produce conditional row styling. |
rowUnselectListener | no | true | javax.el.MethodExpression | MethodExpression reference called whenever a table element is deselected. The method receives a single argument, UnselectEvent. |
rows | no | true | int | The number of rows to be displayed, or zero to display the entire set of available rows. Default = '0'. |
rowsPerPageTemplate | no | true | java.lang.String | Defines 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. |
scrollHeight | no | true | java.lang.Integer | Defines a fixed height for the scrollable table in pixels. Default = '100'. |
scrollWidthIE7 | no | true | java.lang.String | (Deprecated) This attribute was used to support scrolling on IE7 in previous versions and has no effect now. |
scrollable | no | true | boolean | Enabling 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. |
selectionMode | no | true | java.lang.String | Defines a code word indicating method of table element selection. Available values include: "multiple", "single", "enhMultiple", "cellblock", "cellrange", "multiplecell" and "singlecell". The enhanced multiple mode ("enhMultiple") works in the following way. Single clicking a row will select it and deselect all other rows. No toggling occurs unless the Ctrl/Command key is held, in which case the other rows won't be deselected. Holding the Shift key will cause the range of rows between the last selected row and the current one to be selected. |
singleSort | no | true | boolean | Disables sorting for multiple columns at once. Sorting is enabled by the use of sortBy on ace:column components. Default = 'false'. |
stateMap | no | true | org.icefaces.ace.model.table.RowStateMap | Defines a map of your row data objects to UI states. Row-level features (selection, expansion, etc.) are manipulable through this repository. Note that it is necessary that the data object implement custom hashCode() and equals() methods for advanced features to work correctly. see wiki for more information. |
staticHeaders | no | true | java.lang.Boolean | Enable 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'. |
style | no | true | java.lang.String | Custom 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. |
styleClass | no | true | java.lang.String | Custom CSS style class(es) to use for this component. These style classes can be defined in your page or in a theme CSS file. |
tabIndex | no | true | java.lang.Integer | Defines 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'. |
toggleOnInvalidEdit | no | true | java.lang.Boolean | Enable 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'. |
value | no | true | java.lang.Object | The DataModel instance representing the data to which this component is bound, or a collection of data for which a DataModel instance is synthesized. |
var | no | true | java.lang.String | The request-scope attribute (if any) under which the data object for the current row will be exposed when iterating. |