Data Grid
The DataGrid is a powerful and feature-rich widget for displaying and managing tabular data. It provides a flexible and interactive interface for users to view, sort, filter, group, edit, and export large datasets efficiently.
It supports a wide range of data shaping operations, various editing modes, and advanced features like master-detail views and automatic column configuration.

Data Binding
Connect the widget to your application's logic by dragging the corresponding items from the Flow Builder.
Input
Property
Type
Description
onChange
Object
Fired when a row is successfully updated. The payload is the complete, updated data object for that row.
onInsert
Object
Fired when a new row is successfully added. The payload is the data object for the new row.
onDelete
Object
or String
Fired when a row is deleted. The payload is the key of the deleted row.
onSelectionChange
Object
or Array
Fired when the row selection changes. The payload is the selected row's data object or an array of objects if multi-selection is enabled.
onRowClick
Object
Fired when a user clicks on any part of a row.
onLinkClick
Object
Fired when a user clicks on a cell that has been configured as clickable. The payload includes the row data and an __origin__
property indicating which column was clicked.
Output
Property
Type
Description
rowFilter
Object
Applies a filter to the grid's rows. The object keys should match the dataField
of the columns to be filtered, and the values are the filter criteria.
headerFilter
Object
Applies a filter from the column header. The object keys should match the dataField
of the columns, and the values are the filter criteria.
isLoading
Boolean
When true
, displays a loading indicator, useful for showing progress during data fetching.
Automatic Configuration
If you provide data to the widget without pre-defining any columns in the Data Settings, the widget will automatically inspect the first 100 data records. It will generate a column for each field, infer the data type (text
, number
, dateTime
, media
, etc.), and apply default settings. These automatically generated columns will then appear in the configuration panel for you to customize further.

Configuration
Grid Settings
These properties control the overall appearance, behavior, and features of the grid.
Appearance
Label
Description
Type
Property
Paging Mode
Infinite Scrolling
loads data as the user scrolls. Paged View
uses traditional page navigation.
String
pagingMode
Show Borders
Toggles the visibility of the outer border of the grid.
Boolean
showBorders
Show Headers
Toggles the visibility of the column headers.
Boolean
showColumnHeaders
Show Vertical Lines
Toggles the visibility of vertical lines between columns.
Boolean
showColumnLines
Show Horizontal Lines
Toggles the visibility of horizontal lines between rows.
Boolean
showRowLines
Alternate Row Color
If true
, applies a different background color to alternating rows.
Boolean
rowAlternationEnabled
Column Auto Width
If true
, automatically adjusts column widths to fit their content.
Boolean
columnAutoWidth
Data Display
Label
Description
Type
Property
Selection Mode
Allows single
or multiple
row selection.
String
selectionMode
Allow Column Reordering
Allows users to drag and drop column headers to reorder them.
Boolean
allowColumnReordering
Allow Column Resizing
Allows users to resize columns by dragging the edge of the header.
Boolean
allowColumnResizing
Allow Column Pinning
Allows users to "pin" or "fix" columns to the left or right side of the grid.
Boolean
allowColumnFixing
Allow Column Choosing
Adds a column chooser button, allowing users to show or hide columns.
Boolean
allowColumnChoosing
Allow Multiple Column Sorting
Allows users to sort the grid by multiple columns (e.g., sort by Country, then by City).
Boolean
allowMultipleSorting
Allow Grouping
Allows users to drag column headers to a group panel to group data by that column.
Boolean
allowGrouping
Allow Searching
Adds a global search box to filter all data in the grid.
Boolean
allowSearching
Allow Row Filtering
Adds a filter row below the headers for per-column filtering.
Boolean
allowRowFiltering
Allow Header Filtering
Adds a filter icon to each column header for more advanced filtering options.
Boolean
allowHeaderFiltering
Allow Filter Building
Provides a powerful UI for creating complex filter criteria.
Boolean
allowFilterBuilding
Show Item Count
Displays a total count of items in the grid's summary area.
Boolean
showItemCount
Data Editing
Label
Description
Type
Property
Mode
The editing mode: cell
, row
, form
, or popup
.
String
mode
Allow Adding
Allows users to add new rows to the grid.
Boolean
allowAdding
Allow Updating
Allows users to edit existing rows.
Boolean
allowUpdating
Allow Deleting
Allows users to delete rows.
Boolean
allowDeleting
Show All Fields On Edit
If true
, the editing form will show all fields, even those not visible as columns.
Boolean
showAllFieldsOnEdit
Data Export
Label
Description
Type
Property
Allow PDF Export
Adds a button to export the grid data to a PDF file.
Boolean
allowPdfExport
Allow Excel Export
Adds a button to export the grid data to an Excel file (.xlsx).
Boolean
allowExcelExport
Allow CSV Export
Adds a button to export the grid data to a CSV file.
Boolean
allowCsvExport
Allow Export Data Selection
If true
, allows users to export only the selected rows.
Boolean
allowExportSelectedData
Hint text
A prefix for the export button text (e.g., "Export as"). The file type is added automatically.
String
exportHint
Data Settings
This is where you define the columns that make up your grid.
Label
Description
Type
Property
Data Field
The field from your data source that this column is bound to.
String
dataField
Column Name
The user-friendly text displayed in the column header.
String
caption
Visibility
Controls how the column is displayed: Visible
, Detail
(only in master-detail view), Hidden
, or Removed
.
String
visibility
Editing
Controls the editing state of the column: Optional
, Required
, Disabled
, or Hidden
in edit forms.
String
editing
Editor Widget
The editor to use when this column is being edited.
String
widget
Editor Widget Options
Each widget
type has its own set of specific configuration options.
Text (text
)
Label
Description
Type
Property
Is Clickable
If true
, makes the text in this cell a clickable link that fires the onLinkClick
event.
Boolean
isClickable
Number (number
) / Slider (slider
)
Label
Description
Type
Property
Minimum
The minimum allowed value.
Number
min
Maximum
The maximum allowed value.
Number
max
Default Value
The initial value of the editor.
Number
defaultValue
Precision
(number
only) The number of decimal places to allow.
Number
precision
Currency
(number
only) A currency symbol or code to display (e.g., $, €, EUR).
String
currency
Handle Large Numbers
(number
only) Formats large numbers with abbreviations (e.g., 1,200,000 becomes 1.2M).
Boolean
handleLargeNumber
Dropdown (dropdown
) / Tags (tags
)
Label
Description
Type
Property
Discover Options
If true
, automatically populates the dropdown options from the unique values in this column's data.
Boolean
discover
Options
A comma-separated list of predefined options.
String
options
Default Value
The initial selected value.
String
defaultValue
Switch (switch
)
Label
Description
Type
Property
Switched On Text
Text displayed when the switch is ON.
String
switchedOnText
Switched Off Text
Text displayed when the switch is OFF.
String
switchedOffText
Date/Time (dateTime
)
Label
Description
Type
Property
Date Type
The type of picker to display: Date Only
, Time Only
, or Date & Time
.
String
dateType
Format Description
Choose between a Preset
format or an Explicit
, custom format.
String
formatDescription
Media (media
)
Label
Description
Type
Property
Media Type
The type of media to display (png
, jpeg
, svg
, pdf
).
String
mediaType
Is Central Element
If true
, the media is displayed as a large, central element in the edit form.
Boolean
isCentralElement
Thumbnail Size
The height (in pixels) of the media thumbnail displayed in the grid cell.
Integer
thumbnailSize
Tips and Tricks
Performance with Large Datasets
Virtual Scrolling: The DataGrid is optimized for performance out-of-the-box. By default, it uses Infinite Scrolling (
virtual
paging mode), which renders only the rows currently visible in the viewport. This allows the grid to handle hundreds of thousands of rows smoothly without any noticeable lag.Data Shaping on the Server: While the DataGrid's client-side filtering, sorting, and grouping are highly efficient, for extremely large datasets (millions of rows), consider performing these operations on your database server. You can connect the DataGrid to a backend that supports these operations and let it handle the heavy lifting.
User Experience and Layout
Master-Detail View: To avoid cluttering your main grid with too many columns, use the Master-Detail feature. Set a column's Visibility to
Detail
to hide it from the main grid. It will then be displayed in an expandable detail section for each row, providing a clean and organized way to show additional information.Column Management: Empower your users by enabling features like Allow Column Choosing, Allow Column Reordering, and Allow Column Resizing. This allows them to create a personalized view of the data that best suits their needs.
Editing Modes: Choose the editing mode that best fits your use case.
Cell
mode is quick for minor changes, whilePopup
orForm
mode provides a more structured editing experience for complex data entry.
Last updated