scrolling

Configures scrolling.

Type:

Object

Scrolling allows a user to browse data left outside the current viewport. The widget provides several scrolling modes detailed in the mode option description.

View Demo

See Also

columnRenderingMode

Specifies the rendering mode for columns. Applies when columns are left outside the viewport. Requires the columnWidth, columnAutoWidth, or width (for all columns) option specified.

Type:

String

Default Value: 'standard'
Accepted Values: 'standard' | 'virtual'

The following rendering modes are available in the widget:

  • "standard"
    Renders all columns at once.

  • "virtual"
    Renders only those columns that get into the viewport.

Use the GridColumnRenderingMode enum to specify this option when the widget is used as an ASP.NET MVC 5 Control or a DevExtreme-Based ASP.NET Core Control. This enum accepts the following values: Standard and Virtual.

mode

Specifies the scrolling mode.

Type:

String

Default Value: 'standard'
Accepted Values: 'infinite' | 'standard' | 'virtual'

The following scrolling modes are available:

  • Standard
    A user scrolls a single page only. Scrolling is available only if all the page's rows do not fit into the widget's height. In this mode, the pager performs the main navigation and scrolling is auxiliary. If paging is disabled, the widget loads all rows simultaneously which can reduce the widget's performance. In this case, we recommend that you use another scrolling mode.

  • Infinite
    Each next page is loaded once the scrollbar reaches the end of its scale. In this mode, users scroll data gradually from the first to the last page.

    NOTE
    Set the grouping.allowCollapsing option to false when using infinite scrolling in conjunction with grouping.
  • Virtual
    Rows are loaded when they get into the viewport and removed once they leave it. If the rows take time to be loaded and rendered, they display gray boxes. Rendering optimization can reduce rendering time and remove gray boxes. In this mode, users can move to any page instantly.

Regardless of the scrolling mode, you can use the paging.pageSize option to specify the number of rows on a page.

Use the GridScrollingMode enum to specify this option when the widget is used as an ASP.NET MVC 5 Control or a DevExtreme-Based ASP.NET Core Control. This enum accepts the following values: Standard, Virtual, and Infinite.

Infinite Scrolling Demo Virtual Scrolling Demo

See Also

preloadEnabled

Specifies whether the widget should load adjacent pages. Applies only if scrolling.mode is "virtual" or "infinite".

Type:

Boolean

Default Value: false

In virtual and infinite scrolling modes, pages are loaded on demand. If you set this option to true, the adjacent pages are loaded in advance for smoother scrolling. This option can reduce the performance on older devices.

rowRenderingMode

Specifies the rendering mode for loaded rows.

Type:

String

Default Value: 'standard'
Accepted Values: 'standard' | 'virtual'

Unlike the mode option, which defines when to load data for rows, this option defines when to render them. The following rendering modes are available:

  • "standard"
    Renders all the loaded rows at once.

  • "virtual"
    Renders only those rows that get into the viewport. Use this mode if the pageSize is large. Rows that are being currently rendered can be shown as grey boxes.

Use the GridRowRenderingMode enum to specify this option when the widget is used as an ASP.NET MVC 5 Control or a DevExtreme-Based ASP.NET Core Control. This enum accepts the following values: Standard and Virtual.

View Demo

scrollByContent

Specifies whether a user can scroll the content with a swipe gesture. Applies only if useNative is false.

Type:

Boolean

Default Value: true

scrollByThumb

Specifies whether a user can scroll the content with the scrollbar. Applies only if useNative is false.

Type:

Boolean

Default Value: false

showScrollbar

Specifies when to show scrollbars. Applies only if useNative is false.

Type:

String

Default Value: 'onScroll'
Accepted Values: 'always' | 'never' | 'onHover' | 'onScroll'

The scrollbars help to scroll the content vertically and horizontally. Vertical scrolling is available when all the rows do not fit in the widget's height. Horizontal scrolling is available when all the columns do not fit in the widget's width, which can happen when columns have fixed widths or the columnAutoWidth option is set to true.

Use the ShowScrollbarMode enum to specify this option when the widget is used as an ASP.NET MVC 5 Control or a DevExtreme-Based ASP.NET Core Control. This enum accepts the following values: OnScroll, OnHover, Always, and Never.

useNative

Specifies whether the widget should use native or simulated scrolling.

Type:

Boolean

|

String

Default Value: 'auto'
Accepted Values: 'auto'

By default, the widget employs native scrolling on most platforms, except non-Mac desktops and devices based on Android older than version 4. To employ native scrolling on all platforms without exception, assign true to this option. If you assign false, the widget simulates scrolling on all platforms.