Configuration

An object defining configuration options for the dxList widget.

accessKey

Specifies a shortcut key that sets focus on the widget element.

Type: String
Default Value: null

The accessKey option value is passed to the accesskey attribute of the actual HTML element of the widget.

activeStateEnabled

A Boolean value specifying whether or not the widget changes its state when interacting with a user.

Type: Boolean
Default Value: true

This option is used when the widget is displayed on a platform whose guidelines include the active state change for widgets.

Show Example:
AngularJS
Knockout
jQuery

allowItemDeleting

Specifies whether or not an end user can delete list items.

Type: Boolean
Default Value: false

Show Example:
AngularJS
Knockout
jQuery

allowItemReordering

Specifies whether or not an end user can reorder list items.

Type: Boolean
Default Value: false

NOTE: The item reordering feature requires the useNativeScrolling option to be set to false in Windows Phone 8 and Android.

See Also
  • itemReordered - an event that fires after an item was moved to another position.
Show Example:
AngularJS
Knockout
jQuery

autoPagingEnabled

Deprecated

Use the pageLoadMode option instead.

Show Example:
AngularJS
Knockout
jQuery

bounceEnabled

A Boolean value specifying whether to enable or disable the bounce-back effect.

Type: Boolean
Default Value: true

If the option is set to true, you can scroll the list content up (down) even if you have reached the bottom (top) boundary. But when you release the content, it returns to the bound position. If the option value is false, you can scroll the list content until you reach the boundary.

Show Example:
AngularJS
Knockout
jQuery

collapsibleGroups

Specifies whether or not an end-user can collapse groups.

Type: Boolean
Default Value: false

This option makes sense if the grouped option is set to true.

If the collapsibleGroups option is set to true, the down arrow is displayed to the right of a group header. An end-user can collapse or expand a group simply clicking the group header.

View Demo

Show Example:
AngularJS
Knockout
jQuery

dataSource

A data source used to fetch data to be displayed by the widget.

Default Value: null

You can assign an array directly to this option as well as use the Data Source provided by the DevExtreme library.

NOTE: If the data source is specified using the dataSource option, use the items option only for reading. Updating data items using the items option may cause unexpected results.

To display widget items, a default template can be used. This template is based on the data source fields that are listed in the Default Item Template section of the widget's API. Alternatively, you can implement a custom item template.

See Also
Show Example:
AngularJS
Knockout
jQuery

disabled

A Boolean value specifying whether or not the widget can respond to user interaction.

Type: Boolean
Default Value: false

Create an observable variable and assign it to this option to specify the availability of the widget at runtime.

Show Example:
AngularJS
Knockout
jQuery

focusStateEnabled

Specifies whether or not the widget can be focused.

Type: Boolean
Default Value: false
Default for generic: true

grouped

A Boolean value specifying whether or not to display a grouped list.

Type: Boolean
Default Value: false

If this option is set to 'true', the object assigned to the items option should include the key and items properties. The key property specifies the group caption in the list. The items property represents an array listing the group items.

View Demo

Show Example:
AngularJS
Knockout
jQuery

groupTemplate

The template to be used for rendering item groups.

Type: String| function |DOM Node|jQuery
Function parameters:
groupData: Object
The group object to be rendered.
groupIndex: Number
The index of the group to be rendered.
groupElement: Object
An HTML element of the group to be rendered.
Return Value: String|jQuery
A template name or a template container.
Default Value: 'group'

NOTE: A binding context of a group template is the data source object that corresponds to the currently rendered group. So, you can bind template elements to the group object's fields directly (see the code above). To access another binding context within a group template, use the Knockout/AngularJS binding variables.

View Demo

Show Example:
AngularJS
Knockout
jQuery

height

Specifies the height of the widget.

Type: Number|String| function
Return Value: Number|String
The widget height.
Default Value: undefined

The option can hold a value of the following types.

  • number
    The height of the widget in pixels

  • string
    A CSS measurement of the widget height (e.g., "55px", "80%", "auto" and "inherit")

  • function
    A function returning the widget height (e.g., height:function(){ return baseHeight - 10 + "%"; })

hint

Specifies the text of the hint displayed for the widget.

Type: String
Default Value: undefined

hoverStateEnabled

A Boolean value specifying whether or not the widget changes its state when being hovered by an end user.

Type: Boolean
Default Value: true

indicateLoading

Specifies whether or not to show the loading panel when the DataSource bound to the widget is loading data.

Type: Boolean
Default Value: true

NOTE: This option affects only the load panel displayed when the bound DataSource is loading data after the load() method is called. The load indicator displayed when the list is being updated is always enabled regardless of the option value.

itemDeleteMode

Specifies the way a user can delete items from the list.

Type: String
Default Value: 'toggle'
Default for ios: 'slideItem'
Default for android: 'swipe'
Default for windows: 'context'
Default for generic: 'static'
Accepted Values: 'static' | 'toggle' | 'slideButton' | 'slideItem' | 'swipe' | 'context'

Show Example:
AngularJS
Knockout
jQuery

itemHoldTimeout

The time period in milliseconds before the onItemHold event is raised.

Type: Number
Default Value: 750

Show Example:
AngularJS
Knockout
jQuery

items

An array of items displayed by the widget.

Type: Array

You can use the dataSource option instead. Unlike the items option, the dataSource option can take on the DataSource configuration object as well as a simple array.

NOTE: If you need to modify the data source specified using the items option at runtime, do it only with the help of the items option. Updating data items using the dataSource option may cause unexpected results.

To display widget items, a default template can be used. This template is based on the data source fields that are listed in the Default Item Template section of the widget's API. Alternatively, you can implement a custom item template.

See Also

itemTemplate

The template to be used for rendering items.

Type: String| function |DOM Node|jQuery
Function parameters:
itemData: Object
The item object to be rendered.
itemIndex: Number
The index of the item to be rendered.
itemElement: jQuery
An HTML element of the item to be rendered.
Return Value: String|DOM Node|jQuery
A template name or a template container.
Default Value: 'item'

NOTE: A binding context of an item template is the data source object that corresponds to the currently rendered item. So, you can bind template elements to the item object's fields directly (see the code above). To access another binding context within an item template, use Knockout/AngularJS binding variables.

See Also
Show Example:
AngularJS
Knockout
jQuery

menuItems

Specifies the array of items for a context menu called for a list item.

Type: Array
Default Value: []

Each item of the array passed to this option should include the text and action properties. The text property specifies the menu item text. The action property takes on a function called when the item is clicked. The function passed to the action property has the following parameters.

  • itemElement - specifies the current item element
  • itemData - specifies the current item data object

menuMode

Specifies whether an item context menu is shown when a user holds or swipes an item.

Type: String
Default Value: 'context'
Default for ios: 'slide'
Accepted Values: 'context' | 'slide'

nextButtonText

The text displayed on the button used to load the next page from the data source.

Type: String
Default Value: 'More'

Show Example:
AngularJS
Knockout
jQuery

noDataText

The text or HTML markup displayed by the widget if the item collection is empty.

Type: String
Default Value: 'No data to display'

onContentReady

A handler for the contentReady event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
Default Value: null

Assign a function to perform a custom action when widget content is ready.

onDisposing

A handler for the disposing event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
Default Value: null

Assign a function to perform a custom action when the widget is being removed.

NOTE: The function assigned to this option is executed only if the widget is removed using the remove(), empty(), or html() jQuery methods.

onGroupRendered

A handler for the groupRendered event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
groupData: Object
The data that is bound to the group item.
groupElement: jQuery
An HTML element of the group.
groupIndex: Number
Specifies the index of the rendered group.
Default Value: null

Assign a function to perform a custom action after an item group element is rendered.

onInitialized

A handler for the initialized event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
Default Value: null

Assign a function to perform a custom action when the widget is initialized.

onItemClick

A handler for the itemClick event.

Type: function |String
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
itemData: Object
The data that is bound to the clicked item.
itemElement: jQuery
An HTML element of the item.
itemIndex: Number|Object
Specifies the index of the clicked item. In a grouped list, the index represents an object defining group and item indexes: { group: 0, item: 0 }.
Default Value: null

Assign a function to perform a custom action when a widget item is clicked.

To navigate to a specific URL when the itemClick event fires, assign that URL directly to this option.

onItemContextMenu

A handler for the itemContextMenu event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
itemData: Object
The data that is bound to the item.
itemElement: jQuery
An HTML element of the item.
itemIndex: Number|Object
Specifies an index of the item for which the context menu is displayed. In a grouped list, the index is specified as an object defining group and item indexes: { group: 0, item: 0 }.
jQueryEvent: jQuery.Event
Specifies the jQuery event that caused action execution.
Default Value: null

Assign a function to perform a custom action when the right mouse button is clicked when the pointer is over a widget item, or when the "sustained" (also known as a long press) touch action is performed.

onItemDeleted

A handler for the itemDeleted event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
itemData: Object
The data that is bound to the removed item.
itemElement: jQuery
An HTML element of the item.
itemIndex: Number|Object
Specifies the index of the item being deleted. In a grouped list, the index represents an object defining the group and item indexes: { group: 0, item: 0 }.
Default Value: null

Assign a function to perform a custom action when a list item is deleted.

Note that the itemDeleted event is raised only if an item is deleted using the appropriate method of the widget or end-user interaction. If you delete an item from an observable array passed to the dataSource or items option, the widget entirely reloads the items array without raising the itemDeleted and itemDeleting events.

onItemDeleting

A handler for the itemDeleting event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
itemData: Object
The data that is bound to the clicked item.
itemElement: jQuery
An HTML element of the item.
itemIndex: Number|Object
Specifies the index of the item. In a grouped list, the index represents an object defining group and item indexes: { group: 0, item: 0 }.
Return Value: jQuery.Promise
A Promise of the jQuery Deferred object resolved if the item deletion is confirmed and rejected if deletion is canceled.
Default Value: null

You can use this option to add a confirmation dialog displayed when a widget item is deleted.

JavaScript
var widgetOptions = {
    onItemDeleting: function(e) {
        return DevExpress.ui.dialog.confirm("Do you really want to delete the item?");
    })
}

Assign a function to perform a custom action before a collection item is deleted.

Note that the itemDeleting event is raised only if an item is being deleted using the appropriate method of the widget or end-user interaction. If you delete an item from an observable array passed to the dataSource or items option, the widget entirely reloads the items array without raising the itemDeleted and itemDeleting events.

onItemHold

A handler for the itemHold event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
itemData: Object
The data that is bound to the item being held.
itemElement: jQuery
An HTML element of the item.
itemIndex: Number|Object
The index of the item being held. In a grouped list, the index represents an object defining the group and item indexes: { group: 0, item: 0 }.
Default Value: null

Assign a function to perform a custom action when the widget's collection item is being held for a specified time period (see the itemHoldTimeout option).

Show Example:
AngularJS
Knockout
jQuery

onItemRendered

A handler for the itemRendered event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data available for binding against the element. Available only in the Knockout and AngularJS approaches.
itemData: Object
The data that is bound to the item to be rendered.
itemElement: jQuery
An HTML element of the item.
itemIndex: Number
Specifies the index of the rendered item.
Default Value: null

Assign a function to perform a custom action after a collection item is rendered.

onItemReordered

A handler for the itemReordered event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
itemData: Object
The data that is bound to the reordered item.
itemElement: jQuery
An HTML element of the item.
itemIndex: Number|Object
Specifies the current index of the item after reordering. In a grouped list, the index represents an object defining the group and item indexes: { group: 0, item: 0 }. This field holds the same value as toIndex.
fromIndex: Number
Specifies the previous index of the item. In a grouped list, the index represents an object defining the group and item indexes: { group: 0, item: 0 }.
toIndex: Number
Specifies the current index of the item. In a grouped list, the index represents an object defining the group and item indexes: { group: 0, item: 0 }.
Default Value: null

Assign a function to perform a custom action when a list item is moved to another position.

To enable item reordering, set the allowItemReordering option to true.

NOTE: If a user drags an item and drops it at the same location, the event does not fire.

onItemSwipe

A handler for the itemSwipe event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
jQueryEvent: jQuery.Event
Specifies the jQuery event that caused action execution.
itemData: Object
The data that is bound to the swiped item.
itemElement: jQuery
An HTML element of the item.
itemIndex: Number|Object
The index of the swiped items. In a grouped list, the index represents an object defining the group and item indexes: { group: 0, item: 0 }.
direction: String
Specifies whether the swipe operation is performed in the left or right direction.
Default Value: null

Assign a function to perform a custom action when an item is swiped.

Show Example:
AngularJS
Knockout
jQuery

onOptionChanged

A handler for the optionChanged event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
name: String
Specifies the name of the option whose value is changed.
fullName: String
Specifies a full name of the option whose value is changed. The full name is formed by concatenating the names of the options that are presented in the hierarchy of the given option. The names are delimited by commas.
value: any
Specifies a new value for the option.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
Default Value: null

Assign a function to perform a custom action after an option of the component is changed.

onPageLoading

A handler for the pageLoading event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
Default Value: null

Assign a function to perform a custom action before loading the next page when autopaging is enabled.

onPullRefresh

A handler for the pullRefresh event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
Default Value: null

Assign a function to perform a custom action before the list is refreshed as a result of the "pull down to refresh" gesture.

onScroll

A handler for the scroll event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
jQueryEvent: jQuery.Event
Specifies the jQuery event that caused action execution.
scrollOffset: Object
Specifies the current scroll offset in the following format { top: topOffset, left: leftOffset }.
reachedLeft: Boolean
Indicates whether the container's left boundary is reached.
reachedRight: Boolean
Indicates whether the container's right boundary is reached.
reachedTop: Boolean
Indicates whether the container's top boundary is reached.
reachedBottom: Boolean
Indicates whether the container's bottom boundary is reached.
Default Value: null

Assign a function to perform a custom action on each scroll gesture.

onSelectionChanged

A handler for the selectionChanged event.

Type: function
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element. Available only in the Knockout and AngularJS approaches.
addedItems: Array
An array of items added to selection.
removedItems: Array
An array of items removed from selection.
Default Value: null

Assign a function to perform a custom action after a collection item is selected or unselected.

pageLoadingText

Specifies the text shown in the pullDown panel, which is displayed when the list is scrolled to the bottom.

Type: String
Default Value: 'Loading...'

pageLoadMode

Specifies whether the next page is loaded when a user scrolls the widget to the bottom or when the "next" button is clicked.

Type: String
Default Value: 'scrollBottom'
Default for android below version 4: 'nextButton'
Default for desktop: 'nextButton'
Accepted Values: 'scrollBottom' | 'nextButton'

pulledDownText

Specifies the text displayed in the pullDown panel when the list is pulled below the refresh threshold.

Type: String
Default Value: 'Release to refresh...'

pullingDownText

Specifies the text shown in the pullDown panel while the list is being pulled down to the refresh threshold.

Type: String
Default Value: 'Pull down to refresh...'

pullRefreshEnabled

A Boolean value specifying whether or not the widget supports the "pull down to refresh" gesture.

Type: Boolean
Default Value: false

If the option is set to true, list data is refreshed each time you pull down and release list contents.

NOTE: The "pull down to refresh" gesture is not supported by desktop browsers and Windows Phone devices. You can use it only in mobile themes except the Windows Phone theme.

Show Example:
AngularJS
Knockout
jQuery

refreshingText

Specifies the text displayed in the pullDown panel while the list is being refreshed.

Type: String
Default Value: 'Refreshing...'

rtlEnabled

Specifies whether or not the current component supports a right-to-left representation.

Type: Boolean
Default Value: false

If you need to switch the display of this DevExtreme component to right-to-left, enable a specifically designed configuration option - rtlEnabled. When this option is set to true, the text flows from right to left, and the layout the component's elements is reversed. To switch the entire application/site to a right-to-left representation, use the static DevExpress.rtlEnabled field.

scrollByContent

A Boolean value specifying if the list is scrolled by content.

Type: Boolean
Default Value: true

Show Example:
AngularJS
Knockout
jQuery

scrollByThumb

A Boolean value specifying if the list is scrolled using the scrollbar.

Type: Boolean
Default Value: false

Show Example:
AngularJS
Knockout
jQuery

scrollingEnabled

A Boolean value specifying whether to enable or disable list scrolling.

Type: Boolean
Default Value: true

selectedItems

An array of currently selected item objects.

Type: Array

selectionMode

Specifies item selection mode.

Type: String
Default Value: 'none'
Accepted Values: 'none' | 'multiple' | 'single' | 'all'

The option accepts the following values.

  • 'none'
    Selection is disabled.

  • 'single'
    A user can select only a single item.

  • 'multiple'
    A user can select several items.

  • 'all'
    The multiple mode with a check box that selects/unselects all items.

    NOTE: The check box that selects/unselects all items is displayed only if the showSelectionControls option is enabled. Otherwise, the 'all' mode works as 'multiple'.

showNextButton

Deprecated

Use the pageLoadMode option instead.

showScrollbar

Specifies when the widget shows the scrollbar.

Type: String
Default Value: 'onScroll'
Default for android below version 4: 'onHover'
Default for desktop: 'onHover'
Accepted Values: 'onScroll' | 'onHover' | 'always' | 'never'

Setting this option makes sense only when the useNativeScrolling option is set to false.

Show Example:
AngularJS
Knockout
jQuery

showSelectionControls

Specifies whether or not to display controls used to select list items.

Type: Boolean
Default Value: false

Show Example:
AngularJS
Knockout
jQuery

tabIndex

Specifies the widget tab index.

Type: Number
Default Value: 0

useNativeScrolling

Specifies whether or not the widget uses native scrolling.

Type: Boolean
Default Value: true
Default for android below version 4: false
Default for desktop: false
Default for mac desktop: true

visible

A Boolean value specifying whether or not the widget is visible.

Type: Boolean
Default Value: true

width

Specifies the width of the widget.

Type: Number|String| function
Return Value: Number|String
The widget width.
Default Value: undefined

The option can hold a value of the following types.

  • numeric
    The widget width in pixels.
  • string
    A CSS measurement of the widget width (e.g., "55px", "80%", "auto" and "inherit").
  • function
    The function returning the widget width. For example, see the following code.

    JavaScript
    width: function () { 
        return baseWidth - 10 + "%";
    }