diff --git a/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/data-grid-2-properties.md b/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/data-grid-2-properties.md
index 39028ce80f7..e63fd090d9b 100644
--- a/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/data-grid-2-properties.md
+++ b/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/data-grid-2-properties.md
@@ -5,7 +5,7 @@ description: "This document describes the properties of the Data Grid 2 and thei
#If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details.
---
-## Introduction
+## Introduction
This guide lists all the properties of the Data Grid 2 widget located inside the [Data Widgets](/appstore/modules/data-widgets/) module. Because data grids also contain columns and rows, properties for those [columns](#columns) and [rows](#rows) are also described below.
@@ -51,6 +51,10 @@ This property is available only when **Selection method** is set to **Checkbox**
When set to **Yes**, the data grid displays a checkbox in the header that, when selected, selects all visible rows. Clearing it will clear the selected rows.
+#### Loading Type
+
+Controls how loading states are displayed during data operations such as pagination, filtering, and refresh. Available options include spinner (rotating overlay) and skeleton (placeholder content). Loading indicators automatically appear during initial data load, pagination navigation, filter operations, sorting, and export operations. The system includes smart timing to prevent flickering on fast operations and provides appropriate timeout handling for slow operations.
+
### Columns Tab {#columns}
#### Columns
@@ -79,6 +83,10 @@ When the property is set to **Virtual scrolling**, then the navigation buttons a
This property controls the visibility of navigation buttons. If set to "Auto", navigation buttons are only visible when the number of elements in the data source exceeds the page size.
+#### Show Number of Rows
+
+Displays the total number of rows in the pagination area, providing users with context about the dataset size. When enabled, shows information like "1 to 20 of 150". Works with virtual scrolling, load more pagination, and standard pagination modes. On large datasets, the total count calculation may impact initial load time.
+
#### Empty List Message
Sets a custom message to be displayed when there is no data in the data source, or the filter result is empty.
@@ -91,7 +99,7 @@ An expression that returns the CSS class for the row. The data source entity is
#### On Click Trigger
-This property determines how the click action is triggered.
+This property determines how the click action is triggered.
The default option is **Single click**, which triggers the action on a single click on a row. If set to **Double click**, the action is triggered when the row is double-clicked.
@@ -103,6 +111,10 @@ This property sets the action to be performed when the row is clicked.
This property sets the action to be performed when the row is selected or unselected.
+#### Filters Placeholder
+
+Container for filter widgets that operate on the entire grid. This placeholder provides a designated area for placing filter widgets (Text Filter, Date Filter, Number Filter, Drop-down Filter) that filter across all grid data rather than being limited to individual columns. Filter widgets placed here automatically link to the grid's datasource, and changes immediately affect the grid data. Still, widget should be configured to work properly. Multiple filters work together using AND logic by default.
+
### Column Capabilities Tab
#### Sorting
@@ -123,6 +135,10 @@ This flag controls column hiding for the entire data grid. If set to **No**, the
### Configuration Tab
+#### Store Filters in Personalization
+
+Controls whether filter states are saved as part of user personalization settings. When enabled, the system preserves filter input values, selected filter types, applied filter combinations, filter visibility states, and custom filter configurations in the user's personalization profile. Filter states can be stored in browser localStorage or database attributes depending on personalization configuration. When enabled, users' filter preferences persist across sessions and page refreshes. When disabled, filters reset to default values on every page load, useful for shared screens, dashboards, or public interfaces.
+
#### Attribute
This property sets the entity attribute that is used to store custom visual settings for the data grid.
@@ -133,12 +149,8 @@ This property sets the action to be performed when the **Attribute** value is ch
### Grid Wide Filtering
-#### Filters
-
-A list of filters that can be used in the header of the data grid. Each filter defines an attribute that is used as part of a joined query to select data from the data source.
-
-{{% alert color="info" %}}
-This property requires advanced knowledge of data grid widget. Please read [Grid Wide Filtering](/appstore/modules/data-grid-2/#grid-wide-filtering) and view its examples for additional guidance.
+{{% alert color="warning" %}}
+Grid Wide Filtering has been deprecated and removed. Use the Filters Placeholder along with dedicated filter widgets (Text Filter, Date Filter, Number Filter, Dropdown Filter) for filtering functionality.
{{% /alert %}}
### Aria Labels
@@ -159,6 +171,10 @@ Defines a string value that labels the cancel export button of the export dialog
Defines a string value that labels the checkbox of the row when the selection is enabled. Used by assistive technologies and screen readers.
+#### Select All Rows
+
+Provides accessible label for the "Select All" checkbox in the grid header. This ARIA label is announced by screen readers when users navigate to the select all checkbox. The label integrates with three-state checkbox functionality (unchecked, checked, indeterminate) and supports localization through text templates. Screen readers announce appropriate state changes when the checkbox is toggled, improving accessibility compliance for bulk selection operations.
+
## Column Properties {#column-properties}
You can easily see these properties by opening up the property dialog box of Data Grid 2, then clicking **Columns** > **New**.
@@ -183,18 +199,6 @@ Text to be displayed in the column header.
Text to display when hovering over column header.
-#### Reference
-
-This property is used to select the reference entity that can be used for association filtering. Useful only in conjunction with the dropdown filter widget.
-
-#### Data Source
-
-A data source that should return a list of entities selected in the reference property. All items in this list will be available in the dropdown filter.
-
-#### Option Caption
-
-An expression used to create a caption for each reference. This text is then visible as an option in the dropdown filter.
-
#### Visible
A Boolean expression that controls the visibility of columns in the data grid. If the expression returns **false**, then the column is hidden and remains hidden unless the expression value is changed to **true**.
@@ -215,9 +219,9 @@ If set to **Yes**, then the column position in the grid can be changed by the us
#### Can Hide
-If set to **Yes**, the column can be hidden in the view settings.
+If set to **Yes**, the column can be hidden in the view settings.
-If hidden by default, column is hidden on first render and can be shown using view settings.
+If hidden by default, column is hidden on first render and can be shown using view settings.
If set to **No**, column cannot be hidden in view settings.
@@ -227,7 +231,7 @@ If set to **No**, column cannot be hidden in view settings.
This property controls how the column width is calculated.
- **Auto-fill** fills the available space. **Auto-fit content** uses just enough space to display the column content. **Manual** is used to set the number for the flex-grow CSS property.
+**Auto-fill** fills the available space. **Auto-fit content** uses just enough space to display the column content. **Manual** is used to set the number for the flex-grow CSS property.
#### Alignment
diff --git a/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/data-grid-2.md b/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/data-grid-2.md
index 8c0cb7cf9e9..ab485adce9d 100644
--- a/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/data-grid-2.md
+++ b/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/data-grid-2.md
@@ -7,13 +7,13 @@ description: "Describes the configuration and usage of the Data Grid 2 widget, w
## Introduction {#introduction}
-[Data Grid 2](https://marketplace.mendix.com/link/component/116540) is the successor to the standard data grid widget for displaying content in a tabular form. It comes with many powerful new features and settings like support for widgets, row and cell coloring, responsive layout, accessibility, and paging options like virtual scrolling. The Data Grid 2 widget offers personalization support so that end-users can show, hide, and re-order columns. Personalizations can be persisted in the database for flexibility and control.
+[Data Grid 2](https://marketplace.mendix.com/link/component/116540) is the successor to the standard data grid widget for displaying content in a tabular form. It comes with many powerful new features and settings like support for widgets, row and cell coloring, responsive layout, accessibility, and paging options like virtual scrolling. The Data Grid 2 widget offers personalization support so that end-users can show, hide, and re-order columns. Personalizations can be persisted in the database for flexibility and control.
This document focusing on explaining module features. For precise details on data grid 2 widget properties, see [Data Grid 2 Properties](/appstore/modules/data-grid-2-properties/).
The data source determines which objects will be shown in a Data Grid 2 widget. In v2.3.0 and above, selecting the entity of the data source will automatically fill the contents, create columns with filters, and create buttons. You can also select which columns to use for the content generation.
-The widget also uses a flexible approach for filtering. You can drag data-grid-specific widgets into the header of the grid and tailor the behavior of the filters. There are filters for text, numbers, and dates, and there is an option to add drop-down filters for single or multiple selections.
+The widget uses a flexible, modular approach for filtering. You can place dedicated filter widgets (Text Filter, Date Filter, Number Filter, Dropdown Filter) in the filters placeholder above the grid or within individual column headers. These specialized filter widgets provide tailored behavior for different data types and use cases, replacing the previous built-in filtering system with a more maintainable and customizable architecture.
Here is an example of a data grid using filters:
@@ -21,13 +21,15 @@ Here is an example of a data grid using filters:
You can enable these advanced options to customize your data grid:
-* Pagination type
-* Pagination position
+* Pagination type and positioning
+* Row count display
+* Loading state indicators
* Empty list option
* Dynamic row and cell class
* Column capabilities
+* Filter personalization settings
* Custom configuration
-* Header Filters
+* Modular filtering with dedicated filter widgets
## Capabilities
@@ -68,7 +70,7 @@ Here is an example of hiding button containing columns to be hidden:
{{< figure src="/attachments/appstore/platform-supported-content/modules/data-widgets/data-grid-2/hiding.png" alt="Example of hiding button containing columns to be hidden" class="no-border" >}}
{{% alert color="info" %}}
-When a column is marked as “Yes, hidden by default” it will render differently in **Structure mode** and **Design mode** and to indicate that the column is hidden. **When running the application, the column will in fact be hidden by default**.
+When a column is marked as “Yes, hidden by default” it will render differently in **Structure mode** and **Design mode** and to indicate that the column is hidden. **When running the application, the column will in fact be hidden by default**.
{{% /alert %}}
Here is an example containing a column with **Yes, hidden by default** in **Structure mode**:
@@ -85,7 +87,7 @@ Here is an example containing a column with **Yes, hidden by default** in **Desi
**Allow Row Events** is only available when a column is set to **Custom Content**.
{{% /alert %}}
-When set to **Yes**, default events such as On click action or selection will be triggered when the user interacts with the content.
+When set to **Yes**, default events such as On click action or selection will be triggered when the user interacts with the content.
{{% alert color="alert" %}}
If a column contains interactive elements such as buttons, this might lead to unexpected behavior when both a click on the button and the action configured on the row are triggered. To prevent default events from triggering when interacting with content, set this setting to **No**.
@@ -110,7 +112,7 @@ You can configure pagination based on the following properties:
* **Position** — The **Position of paging button** options allow you to position paging buttons above or below the data grid.
* **Visibility** — The **Show paging buttons** options allow you to always show paging, or to automatically show and hide paging based on the amount of available data compared to the display limit per page.
-### Virtual Scrolling
+### Virtual Scrolling
The **Virtual Scrolling** option forces the data grid to show a fixed amount of items (defined in the page size option) within a scrollable container. When the end-user reaches the bottom of the scrollable container it fetches more items automatically.
@@ -118,6 +120,10 @@ The **Virtual Scrolling** option forces the data grid to show a fixed amount of
This option functions similarly to the **Virtual Scrolling** feature, but instead of automatically loading data as the end-user scrolls, a button is displayed at the end of the list of items. Clicking this button enables the end-user to fetch more items.
+### Row Count Display
+
+When enabled, the pagination area displays the total number of rows alongside navigation controls, providing users with context about the dataset size. The counter shows information like "1 to 20 of 150" and automatically updates when users navigate between pages, apply filters, or refresh data. This feature works with all pagination modes including virtual scrolling and load more.
+
## Columns
In Data Grid you can choose what you want to render into columns. This can be an attribute, dynamic text, or even a combination of widgets (custom content). To choose what you want to render, open a column in the column list and select the appropriate option according to your needs.
@@ -196,15 +202,17 @@ This property is not available if you enable **Custom content** for the column
### Association Filter {#association-filter}
-* **Reference** — this property defines the association that will be used for filtering. When set, it enables filtering over association with the Drop-down filter. Drop-down filter will prioritize this property over `Attribute` property.
-* **Data source** — defines data source for filter options. The data source should return list of all possible entities that could be associated with a parent.
-* **Use lazy load** — When set to **Yes**, data for the filter will be fetched only when the drop-down filter is opened. This improves the loading times of the data grid, but limits the functionality of saving filter values. For more details, see [Drop-down Filter](#drop-down-filter).
-* **Option caption** — the expression that will be used as caption for the option.
-
-{{% alert color="info" %}}
-This column configuration is intended to be used in conjunction with [Drop-down Filter](#drop-down-filter). Other filter types do not support association filtering.
+{{% alert color="warning" %}}
+Association filtering configuration has been moved from column properties to the dedicated Dropdown Filter widget. Configure association filtering directly in the Dropdown Filter widget properties when using Custom mode.
{{% /alert %}}
+The Dropdown Filter widget supports association filtering when configured in Custom mode:
+
+* **Entity (Association)** — defines the association that will be used for filtering
+* **Selectable objects** — defines data source for filter options, returning list of all possible entities that could be associated
+* **Use lazy load** — controls when filter options are loaded. When set to **No** (recommended), data is fetched immediately providing better personalization support. When set to **Yes**, data is fetched only when the filter is opened, improving initial load times but limiting personalization capabilities
+* **Option caption** — expression used as caption for each option in the dropdown
+
### Visible {#visible-filter}
When using a data grid, sometimes columns do not need to be shown. Using this **Visible** expression configuration, you can specify when you want to display columns
@@ -241,7 +249,11 @@ Triggers an action (such as a nanoflow, microflow, or Show page action) when the
## Filters {#filters}
-Sets of filters can be used in combination with data grids. To be able to use filters you need to select the option **Show column filters**. When this option is selected a drop-zone where you can place your desired filter widget will appear in each column header.
+The Data Grid 2 uses a modular filtering system with dedicated filter widgets that can be placed in two locations:
+
+1. **Column Headers**: Individual filters can be placed in column headers by enabling **Show column filters**. When this option is selected, a drop-zone appears in each column header where you can place the appropriate filter widget.
+
+2. **Filters Placeholder**: Grid-wide filters can be placed in the filters placeholder (located in the Events section of the grid properties). This allows for filtering across multiple attributes and more complex filtering scenarios.
{{% alert color="warning" %}}
The type of your selected attribute should match the filter type. For example, a **Text filter** should be used for a String attribute.
@@ -249,6 +261,13 @@ The type of your selected attribute should match the filter type. For example, a
Also the desired attribute must be filterable. For example, not a value which is calculated.
{{% /alert %}}
+### Filter Widget Configuration
+
+All filter widgets support two configuration modes:
+
+* **Auto Mode**: Automatically detects filterable attributes from the parent grid (works when placed in grid columns)
+* **Custom Mode**: Allows manual specification of target datasource and attributes for more flexible filtering scenarios
+
{{< figure src="/attachments/appstore/platform-supported-content/modules/data-widgets/data-grid-2/settings-show-column-filters.png" alt="Settings for data grid 2" class="no-border" >}}
Here is an example of dropzones for filters in **Structure mode**:
@@ -311,20 +330,28 @@ In this section you can select an action to be executed **On change** by the fil
{{< figure src="/attachments/appstore/platform-supported-content/modules/data-widgets/data-grid-2/dropdown-filter.png" alt="Example of default drop-down filter" class="no-border" >}}
-**Drop-down filter** allows users to match enumeration values, Boolean attributes, or an association attribute. To configure the available options when you press the drop-down filter, you can manually add them to the options list or select **Automatic options** to automatically load the values:
+**Drop-down filter** allows users to match enumeration values, Boolean attributes, or an association attribute. The filter can be configured to work in Auto mode (detecting attributes from grid context) or Custom mode (manual datasource and attribute specification).
+
+In Custom mode, you can manually configure the datasource and attributes, while Auto mode automatically inherits configuration from the parent column. The filter supports both attribute-based filtering (enumerations, booleans) and association-based filtering (references to other entities).
+
+For association filtering, you can configure:
+
+* **Filter by Association**: Set the filter to operate on entity associations
+* **Entity**: Select the target association for filtering
+* **Selectable objects**: Configure the datasource that provides available filter options
+* **Use lazy load**: Control when options are loaded (immediate vs on-demand)
+* **Option caption**: Define how each option is displayed to users
+
+The filter also supports enhanced features like multi-select, filterable options (combobox-style), and various selection methods (checkbox or row click).
{{< figure src="/attachments/appstore/platform-supported-content/modules/data-widgets/data-grid-2/dropdown-filter-settings.png" alt="Example of settings for drop-down filter" class="no-border" >}}
{{% alert color="info" %}}
-When a drop-down filter is used in conjunction with an Association Filter data grid configuration, only **Automatic options** are supported. Any custom options will be ignored. To enable association filtering, see the [Association Filter](#association-filter) section.
+When using Custom mode, configure the target datasource and attributes directly in the filter widget properties. Auto mode automatically inherits configuration from the parent column when the filter is placed in a column header.
{{% /alert %}}
-{{% alert color="warning" %}}
-Due to current limitations, **Default value** property will be ignored when a drop-down filter is used in conjunction with an [Association Filter](#association-filter) data grid configuration.
-{{% /alert %}}
-
-{{% alert color="warning" %}}
-Due to current limitations, **Saved attribute** property will be ignored when a drop-down filter is used in conjunction with an [Association Filter](#association-filter) data grid configuration where **Use lazy load** is set to **Yes**. This limitation also applies when using page state, meaning that the filter value used in the drop-down filter will not persist when navigating between pages.
+{{% alert color="info" %}}
+For optimal personalization support, set **Use lazy load** to **No**. This allows filter values to be properly restored when users return to the page, though it may impact initial load performance for large option sets.
{{% /alert %}}
When adding a new option, the following properties are required:
@@ -512,9 +539,9 @@ The performance of the new data grid can be affected if sorting or filtering are
If you are using Atlas v2.x and you cannot upgrade to Atlas 3 at the moment, please replace the line 3 `cssFiles` with the following code in the file `theme/settings.json`:
```json
-"cssFiles": [
- "styles/web/css/main.css",
- "theme.compiled.css"
+"cssFiles": [
+ "styles/web/css/main.css",
+ "theme.compiled.css"
],
```
@@ -530,7 +557,7 @@ Since the data grid widget keeps selected items in short-living memory that is c
### Selection Mode
-In **Single** selection mode, users are limited to selecting one row at a time.
+In **Single** selection mode, users are limited to selecting one row at a time.
In **Multi** mode, the user can select multiple rows.
@@ -552,44 +579,74 @@ The data grid settings support the case where it is possible to have both a sele
The setting for action triggers is related to the selection method and can sometimes be ambiguous. See the table below to see which combinations of selection method and trigger are supported.
-| Selection method | Action trigger | Selection trigger | Supported |
-| ---------------- | ----------------------- | ------------------------------------------------ | --------- |
+| Selection method | Action trigger | Selection trigger | Supported |
+| ---------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------- | --------- |
| Checkbox | Single click on the row | Click on the checkbox, Ctrl + click on the row (or Command + click on the row on Mac) | Yes |
| Checkbox | Double-click on the row | Click on the checkbox, Ctrl + click on the row (or Command + click on the row on Mac) | Yes |
-| Row | Single click on the row | | No |
-| Row | Double-click on the row | Ctrl + click on the row (or Command + click on the row on Mac) | Yes |
+| Row | Single click on the row | | No |
+| Row | Double-click on the row | Ctrl + click on the row (or Command + click on the row on Mac) | Yes |
To achieve this behavior, set the **On click trigger** to **Double click**. When a data grid is configured this way, the user may select a row by double-clicking it.
## Keyboard Support {#keyboard-support}
-| Key | Function |
-| ------------------------ | ------------------------------------------------------------ |
-| → | Moves focus one cell to the right. |
-| ← | Moves focus one cell to the left. |
-| ↓ | Moves focus one cell down. |
-| ↑ | Moves focus one cell up. |
-| Page up | Moves focus one page up. |
-| Page down | Moves focus once page down. |
-| Home | Moves focus to the first cell in the row. |
-| End | Moves focus to the last cell in the row. |
-| Ctrl + Home | Moves focus to the first cell in grid. |
-| Ctrl + End | Moves focus to the last cell in grid. |
-| Shift + Space | Selects current row. (1) |
-| Ctrl + A | Select all visible rows. (1)(2) |
-| Shift + ↑/↓ | Moves focus and selects current and row above/below. (1)(2) |
-| Shift + Page up/Page down | Moves focus one page up/down and selects all rows between current and final row. (1)(2) |
-| Shift + Home/End | Moves focus to the start/end of the grid and selects all rows between current and final row. (1)(2) |
+| Key | Function |
+| -------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
+| → | Moves focus one cell to the right. |
+| ← | Moves focus one cell to the left. |
+| ↓ | Moves focus one cell down. |
+| ↑ | Moves focus one cell up. |
+| Page up | Moves focus one page up. |
+| Page down | Moves focus once page down. |
+| Home | Moves focus to the first cell in the row. |
+| End | Moves focus to the last cell in the row. |
+| Ctrl + Home | Moves focus to the first cell in grid. |
+| Ctrl + End | Moves focus to the last cell in grid. |
+| Shift + Space | Selects current row. (1) |
+| Ctrl + A | Select all visible rows. (1)(2) |
+| Shift + ↑/↓ | Moves focus and selects current and row above/below. (1)(2) |
+| Shift + Page up/Page down | Moves focus one page up/down and selects all rows between current and final row. (1)(2) |
+| Shift + Home/End | Moves focus to the start/end of the grid and selects all rows between current and final row. (1)(2) |
Legend:
-| Symbol | Meaning |
-| --- | --- |
-| 1 | Available only when selection is enabled. |
-| 2 | Available only when selection mode should be “Multi”. |
+| Symbol | Meaning |
+| ------ | ----------------------------------------------------- |
+| 1 | Available only when selection is enabled. |
+| 2 | Available only when selection mode should be "Multi". |
## Resetting Filters
Resetting filters is possible using **Reset_Filter** and **Reset_All_Filters** actions available as part of the Data Widgets module. Setting up these actions is a manual process that requires creating a nanoflow and setting the name of the filter or data grid to be reset.
The name of the filter or data grid can be found at **Properties** > **Common** > **Name**.
+
+## Troubleshooting runtime errors
+
+### Filter widgets errors
+
+> "The filter widget must be placed inside the column or header of the Data grid 2.0 or inside header of the Gallery widget."
+
+Widget placement is incorrect.
+
+**Solution**:
+Place widget inside Gallery header, Data Grid 2 header or Data Grid 2 column.
+
+> "Unable to get filter store. Check parent widget configuration."
+
+This error indicates that there is issue with widget settings. Most of the time this error happens when widget is placed in the header of Data Grid 2 or Gallery, but "Filter attributes" settings is still set to **Auto**.
+
+**Solution**:
+Switch widget attributes setting to **Custom** and configure the attribute for filtering.
+
+> "The [filter] is not compatible with [datatype] data type."
+
+This error indicates that attribute configured in the Data Grid 2 for column is not compatible with current filter type.
+
+**Solution**: Change filter to appropriate filter type. For example for string attributes use text filter.
+
+> "The attribute is not filterable. Please choose a different attribute."
+
+This error indicates that it's not possible to use current attribute for filtering due to technical limitations.
+
+**Solution**: Read and understand why some attributes are filterable and other are not. Change the model or choose another attribute.
\ No newline at end of file
diff --git a/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/datagrid-date-filter.md b/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/datagrid-date-filter.md
new file mode 100644
index 00000000000..6b541357856
--- /dev/null
+++ b/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/datagrid-date-filter.md
@@ -0,0 +1,95 @@
+---
+title: "Date Filter"
+url: /appstore/modules/datagrid-date-filter/
+description: "This document describes the properties of the Date Filter widget and their configurations."
+---
+
+## Introduction
+
+This guide lists all the properties of the Date Filter widget used with the [Data Grid 2](/appstore/modules/data-grid-2/) widget. The Date Filter allows users to filter DateTime attributes using various date comparison criteria including range filtering.
+
+For more information on using filter widgets, see [Data Grid 2](/appstore/modules/data-grid-2/#filters).
+
+## Configuration
+
+### General Tab
+
+#### Filter Attributes
+
+Provides flexibility in how the filter determines which data to filter. **Auto** mode automatically detects filterable attributes from the parent grid when placed in grid columns. **Custom** mode allows manual specification of target datasource and attributes for more complex filtering scenarios including multi-attribute support and cross-entity filtering.
+
+#### Datasource to Filter
+
+Specifies the target datasource that the filter should operate on when using Custom mode. Creates a direct reference to the specified datasource object, providing access to entity metadata and enabling real-time synchronization with datasource state changes. This property is required when Filter Attributes is set to Custom.
+
+#### Attributes
+
+Allows specification of multiple DateTime attributes that users can filter on. Each attribute in the list becomes a potential target for filtering operations, enabling sophisticated multi-attribute date search capabilities. Only DateTime attributes are supported for date filtering operations.
+
+#### Default Value
+
+Sets the initial date value that appears in the filter input when the page loads. This value is applied immediately when the widget initializes. The default value respects expression-based configurations and can be dynamically determined based on business logic.
+
+#### Default Start Date
+
+When the default filter is set to "Between", this property defines the initial start date for the date range. This value works in conjunction with the Default End Date to establish a default date range when the widget loads.
+
+#### Default End Date
+
+When the default filter is set to "Between", this property defines the initial end date for the date range. This value works in conjunction with the Default Start Date to establish a default date range when the widget loads.
+
+#### Default Filter
+
+Determines the initial filter operation type when the widget loads. Available options include:
+
+* **Between**: Matches records where the date falls within a specified range (requires both start and end dates)
+* **Greater than**: Matches records where the date is after the specified date
+* **Greater than or equal**: Matches records where the date is on or after the specified date
+* **Equal**: Matches records where the date exactly equals the specified date
+* **Not equal**: Matches records where the date does not equal the specified date
+* **Smaller than**: Matches records where the date is before the specified date
+* **Smaller than or equal**: Matches records where the date is on or before the specified date
+* **Empty**: Matches records where the date attribute has no value
+* **Not empty**: Matches records where the date attribute has any value
+
+#### Placeholder
+
+Displays hint text in the input field when no date is selected. Helps users understand the expected date format or provides guidance on date selection. Supports text templates for dynamic content and localization.
+
+#### Adjustable by User
+
+Controls whether users can change the filter operation type. When set to **Yes**, a dropdown button appears next to the date input allowing users to select different filter operations. When set to **No**, only the default filter operation is available and the dropdown is hidden.
+
+### Configurations
+
+#### Saved Attribute
+
+Specifies an entity attribute used to store the last filter value for persistence. The attribute must be of type DateTime. When configured, the filter automatically saves its current value to this attribute when changes occur. To restore previously saved values, configure the same attribute as the Default Value.
+
+#### Saved Start Date Attribute
+
+Specifies an entity attribute used to store the start date when using "Between" filter mode. The attribute must be of type DateTime. This works in conjunction with the Saved End Date Attribute to persist date range selections across user sessions.
+
+#### Saved End Date Attribute
+
+Specifies an entity attribute used to store the end date when using "Between" filter mode. The attribute must be of type DateTime. This works in conjunction with the Saved Start Date Attribute to persist date range selections across user sessions.
+
+### Events
+
+#### On Change
+
+Defines an action to be executed whenever the filter value or filter type changes. This event is triggered for every user interaction including date selection, changing filter operations, or clearing the filter. Can be used to trigger microflows, nanoflows, or other actions for custom business logic.
+
+### Accessibility
+
+#### Comparison Button Caption
+
+Provides an accessible label for the filter type selection button. This label is announced by screen readers when users navigate to the dropdown that shows available filter operations (Between, Greater than, etc.). Essential for users relying on assistive technology to understand the purpose of the button.
+
+#### Calendar Button Caption
+
+Defines the accessible label for the calendar picker button that opens the date selection interface. Screen readers announce this label when users navigate to the button, helping them understand how to access the date picker functionality.
+
+#### Input Caption
+
+Defines the accessible label for the date input field. Screen readers announce this label when users focus on the input field. Helps users understand that date input is expected and may include format guidance or context-specific information.
diff --git a/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/datagrid-dropdown-filter.md b/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/datagrid-dropdown-filter.md
new file mode 100644
index 00000000000..9329484f1ce
--- /dev/null
+++ b/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/datagrid-dropdown-filter.md
@@ -0,0 +1,125 @@
+---
+title: "Dropdown Filter"
+url: /appstore/modules/datagrid-dropdown-filter/
+description: "This document describes the properties of the Dropdown Filter widget and their configurations."
+---
+
+## Introduction
+
+This guide lists all the properties of the Dropdown Filter widget used with the [Data Grid 2](/appstore/modules/data-grid-2/) widget. The Dropdown Filter allows users to filter enumeration values, Boolean attributes, or association attributes through a dropdown selection interface with advanced features like multi-select and search capabilities.
+
+For more information on using filter widgets, see [Data Grid 2](/appstore/modules/data-grid-2/#filters).
+
+## Configuration
+
+### General Tab
+
+#### Data Source Section
+
+##### Filter By
+
+Determines the type of filtering the dropdown will perform:
+
+* **Attribute**: Filters based on entity attributes (enumerations, booleans)
+* **Association**: Filters based on entity associations and references
+
+##### Data source of [widget]
+
+This setting is displaying what data sourced is currently used to configure the filter.
+
+#### Attribute Type Configuration
+
+##### Attribute Config
+
+Provides flexibility in how the filter determines which data to filter. **Auto** mode automatically detects filterable attributes from the parent grid when placed in grid columns. **Custom** mode allows manual specification of target datasource and attributes for more complex filtering scenarios.
+
+##### Attribute
+
+Specifies the target attribute for filtering when using attribute-based filtering. Supported attribute types include:
+
+* **Enum**: Enumeration attributes with predefined values
+* **Boolean**: True/false attributes
+
+##### Automatic Options
+
+When set to **Yes**, the dropdown automatically populates with all available values from the enumeration or boolean attribute. When set to **No**, custom options must be manually configured in the Options list.
+
+##### Options
+
+Allows manual specification of dropdown options when Automatic Options is disabled. Each option contains:
+
+* **Caption**: Display text shown to users
+* **Value**: Actual value used for filtering
+
+#### Association Type Configuration
+
+##### Entity
+
+Defines the entity that will be used for filtering over association. Supports both Reference and ReferenceSet association types. This property is required when Filter By is set to Association.
+
+##### Selectable Objects
+
+Defines the datasource that provides the list of entities available for selection. This datasource should return all possible entities that could be associated with the parent entity. The dropdown will display these entities as selectable options.
+
+##### Caption
+
+Specifies the attribute from the selectable objects that will be displayed as the option text in the dropdown. Must be a String attribute from the entity defined in the Selectable Objects datasource.
+
+##### Use Lazy Load
+
+Controls when dropdown options are loaded. When set to **No** (recommended), options are loaded immediately providing better personalization support and value restoration. When set to **Yes**, options are loaded on-demand when the dropdown is first opened, improving initial page load performance but limiting personalization capabilities.
+
+#### General Configuration
+
+##### Default Value
+
+Sets the initial value that is selected in the dropdown when the page loads. For association filtering, this should match one of the available entity values. For attribute filtering, this should match one of the enumeration or boolean values.
+
+##### Filterable
+
+When set to **Yes**, adds a search input to the dropdown allowing users to quickly find options by typing. This is especially useful for dropdowns with many options. The search functionality works on the display captions.
+
+##### Multiselect
+
+Enables selection of multiple options simultaneously. When enabled, users can select multiple enumeration values, boolean states, or associated entities. The filter will match records that contain any of the selected values.
+
+##### Empty Option Caption
+
+Defines the text displayed for the "empty" or "no selection" option. This option allows users to clear the filter.
+
+##### Clearable
+
+When set to **Yes**, adds a clear button that allows users to quickly remove their current selection. This provides an easy way to reset the filter without having to manually deselect options.
+
+##### Show Selected Items As
+
+Controls how selected options are displayed when multiselect is enabled:
+
+* **Text**: Shows selected items as comma-separated text
+* **Labels**: Shows selected items as individual removable labels/tags
+
+##### Selection Method
+
+Determines how users can select options in multiselect mode:
+
+* **Checkbox**: Adds checkboxes next to each option for explicit selection
+* **Row Click**: Allows selection by clicking anywhere on the option row
+
+### Configurations
+
+#### Saved Attribute
+
+Specifies an entity attribute used to store the last filter value for persistence. The attribute must be of type String. When configured, the filter automatically saves its current selection to this attribute when changes occur. Note that associations are not supported for saved attributes.
+
+### Events
+
+#### On Change
+
+Defines an action to be executed whenever the filter selection changes. This event is triggered when users select or deselect options, clear the filter, or change the selection in any way. Can be used to trigger microflows, nanoflows, or other actions for custom business logic.
+
+### Accessibility
+
+#### Input Caption
+
+Defines the accessible label for the dropdown input element. Screen readers announce this label when users focus on the dropdown. Essential for users relying on assistive technology to understand the purpose and context of the filter dropdown.
+
diff --git a/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/datagrid-number-filter.md b/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/datagrid-number-filter.md
new file mode 100644
index 00000000000..1db7b91d6bb
--- /dev/null
+++ b/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/datagrid-number-filter.md
@@ -0,0 +1,86 @@
+---
+title: "Number Filter"
+url: /appstore/modules/datagrid-number-filter/
+description: "This document describes the properties of the Number Filter widget and their configurations."
+---
+
+## Introduction
+
+This guide lists all the properties of the Number Filter widget used with the [Data Grid 2](/appstore/modules/data-grid-2/) widget. The Number Filter allows users to filter numeric attributes including AutoNumber, Decimal, Integer, and Long data types using various numerical comparison criteria.
+
+For more information on using filter widgets, see [Data Grid 2](/appstore/modules/data-grid-2/#filters).
+
+## Configuration
+
+### General Tab
+
+#### Filter Attributes
+
+Provides flexibility in how the filter determines which data to filter. **Auto** mode automatically detects filterable attributes from the parent grid when placed in grid columns. **Custom** mode allows manual specification of target datasource and attributes for more complex filtering scenarios including multi-attribute support.
+
+#### Datasource to Filter
+
+Specifies the target datasource that the filter should operate on when using Custom mode. Creates a direct reference to the specified datasource object, providing access to entity metadata and enabling real-time synchronization with datasource state changes. This property is required when Filter Attributes is set to Custom.
+
+#### Attributes
+
+Allows specification of multiple numeric attributes that users can filter on. Each attribute in the list becomes a potential target for filtering operations, enabling sophisticated multi-attribute numerical search capabilities. Supported attribute types include:
+
+- **AutoNumber**: System-generated sequential numbers
+- **Decimal**: Decimal numbers with fractional parts
+- **Integer**: Whole numbers within integer range
+- **Long**: Large whole numbers within long range
+
+#### Default Value
+
+Sets the initial numeric value that appears in the filter input when the page loads. This value is applied immediately when the widget initializes. The default value respects expression-based configurations and can be dynamically determined. The value must be compatible with the target attribute's data type.
+
+#### Default Filter
+
+Determines the initial filter operation type when the widget loads. Available options include:
+
+- **Greater than**: Matches records where the numeric value is greater than the specified number
+- **Greater than or equal**: Matches records where the numeric value is greater than or equal to the specified number
+- **Equal**: Matches records where the numeric value exactly equals the specified number
+- **Not equal**: Matches records where the numeric value does not equal the specified number
+- **Smaller than**: Matches records where the numeric value is smaller than the specified number
+- **Smaller than or equal**: Matches records where the numeric value is smaller than or equal to the specified number
+- **Empty**: Matches records where the numeric attribute has no value
+- **Not empty**: Matches records where the numeric attribute has any value
+
+#### Placeholder
+
+Displays hint text in the input field when no value is entered. Helps users understand what type of numeric input is expected. Can include format guidance (e.g., "Enter amount in dollars") or range information. Supports text templates for dynamic content and localization.
+
+#### Adjustable by User
+
+Controls whether users can change the filter operation type. When set to **Yes**, a dropdown button appears next to the input allowing users to select different filter operations. When set to **No**, only the default filter operation is available and the dropdown is hidden.
+
+### On Change Behavior
+
+#### Apply After (ms)
+
+Specifies the delay in milliseconds before filter changes are applied to the grid. This debouncing mechanism prevents excessive server requests while users are typing numeric values. The default value of 500ms provides a good balance between responsiveness and performance. Lower values provide faster feedback but may impact performance with large datasets.
+
+### Configurations
+
+#### Saved Attribute
+
+Specifies an entity attribute used to store the last filter value for persistence. The attribute must be of a compatible numeric type (AutoNumber, Decimal, Integer, or Long). When configured, the filter automatically saves its current value to this attribute when changes occur. To restore previously saved values, configure the same attribute as the Default Value.
+
+### Events
+
+#### On Change
+
+Defines an action to be executed whenever the filter value or filter type changes. This event is triggered for every user interaction including typing, selecting different filter operations, or clearing the filter. Can be used to trigger microflows, nanoflows, or other actions for custom business logic.
+
+### Accessibility
+
+#### Comparison Button Caption
+
+Provides an accessible label for the filter type selection button. This label is announced by screen readers when users navigate to the dropdown that shows available filter operations (Greater than, Equal, etc.). Essential for users relying on assistive technology to understand the purpose of the button.
+
+#### Input Caption
+
+Defines the accessible label for the numeric input field. Screen readers announce this label when users focus on the input field. Supports localization with built-in translations for English, German, and Dutch. Can be customized to provide context-specific information about the expected numeric format or range.
+
diff --git a/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/datagrid-text-filter.md b/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/datagrid-text-filter.md
new file mode 100644
index 00000000000..37bd27f41b1
--- /dev/null
+++ b/content/en/docs/marketplace/platform-supported-content/modules/data-widgets/datagrid-text-filter.md
@@ -0,0 +1,84 @@
+---
+title: "Text Filter"
+url: /appstore/modules/datagrid-text-filter/
+description: "This document describes the properties of the Text Filter widget and their configurations."
+---
+
+## Introduction
+
+This guide lists all the properties of the Text Filter widget used with the [Data Grid 2](/appstore/modules/data-grid-2/) widget. The Text Filter allows users to filter string attributes using various text matching criteria.
+
+For more information on using filter widgets, see [Data Grid 2](/appstore/modules/data-grid-2/#filters).
+
+## Configuration
+
+### General Tab
+
+#### Filter Attributes
+
+Provides flexibility in how the filter determines which data to filter. **Auto** mode automatically detects filterable attributes from the parent grid when placed in grid columns. **Custom** mode allows manual specification of target datasource and attributes for more complex filtering scenarios including multi-attribute support.
+
+#### Datasource to Filter
+
+Specifies the target datasource that the filter should operate on when using Custom mode. Creates a direct reference to the specified datasource object, providing access to entity metadata and enabling real-time synchronization with datasource state changes. This property is required when Filter Attributes is set to Custom.
+
+#### Attributes
+
+Allows specification of multiple string attributes that users can filter on. Each attribute in the list becomes a potential target for filtering operations, enabling sophisticated multi-attribute search capabilities. Only String attributes are supported for text filtering operations.
+
+#### Default Value
+
+Sets the initial text value that appears in the filter input when the page loads. This value is applied immediately when the widget initializes. The default value respects expression-based configurations and can be dynamically determined.
+
+#### Default Filter
+
+Determines the initial filter operation type when the widget loads. Available options include:
+
+- **Contains**: Matches records where the attribute contains the search text
+- **Starts with**: Matches records where the attribute begins with the search text
+- **Ends with**: Matches records where the attribute ends with the search text
+- **Greater than**: Matches records where the attribute value is alphabetically greater
+- **Greater than or equal**: Matches records where the attribute value is alphabetically greater or equal
+- **Equal**: Matches records where the attribute exactly equals the search text
+- **Not equal**: Matches records where the attribute does not equal the search text
+- **Smaller than**: Matches records where the attribute value is alphabetically smaller
+- **Smaller than or equal**: Matches records where the attribute value is alphabetically smaller or equal
+- **Empty**: Matches records where the attribute has no value
+- **Not empty**: Matches records where the attribute has any value
+
+#### Placeholder
+
+Displays hint text in the input field when no value is entered. Helps users understand what type of input is expected. Supports text templates for dynamic content and localization.
+
+#### Adjustable by User
+
+Controls whether users can change the filter operation type. When set to **Yes**, a dropdown button appears next to the input allowing users to select different filter operations. When set to **No**, only the default filter operation is available and the dropdown is hidden.
+
+### On Change Behavior
+
+#### Apply After (ms)
+
+Specifies the delay in milliseconds before filter changes are applied to the grid. This debouncing mechanism prevents excessive server requests while users are typing. The default value of 500ms provides a good balance between responsiveness and performance. Lower values provide faster feedback but may impact performance with large datasets.
+
+### Configurations
+
+#### Saved Attribute
+
+Specifies an entity attribute used to store the last filter value for persistence. The attribute must be of type String or HashString. When configured, the filter automatically saves its current value to this attribute when changes occur. To restore previously saved values, configure the same attribute as the Default Value.
+
+### Events
+
+#### On Change
+
+Defines an action to be executed whenever the filter value or filter type changes. This event is triggered for every user interaction including typing, selecting different filter operations, or clearing the filter. Can be used to trigger microflows, nanoflows, or other actions for custom business logic.
+
+### Accessibility
+
+#### Comparison Button Caption
+
+Provides an accessible label for the filter type selection button. This label is announced by screen readers when users navigate to the dropdown that shows available filter operations (Contains, Starts with, etc.). Essential for users relying on assistive technology to understand the purpose of the button.
+
+#### Input Caption
+
+Defines the accessible label for the text input field. Screen readers announce this label when users focus on the input field. Supports localization with built-in translations for English, German, and Dutch. Can be customized to provide context-specific information about what users should enter.
+