Smart Data Table
Overview
The Smart Data Table is a reusable Mendix Native widget designed to display structured data with enhanced UI and interactive features. It supports flexible column configuration, dynamic data rendering, sorting, filtering, and row selection mechanisms.
This widget improves usability by allowing users to interact with tabular data efficiently on mobile devices.
Key Features
- Dynamic column configuration
- Column width customization
- Attribute & expression-based data binding
- Sorting functionality
- Filtering with search
- Filtering with multi-select & single-select (radio) options
- Custom header styling
- Row click(Single selection)
1. Column Configuration
Description
Each column in the table is dynamically configurable using:
- Attributes (direct entity fields)
- Expressions (calculated values)
Implementation
- If a column has an expression, it evaluates dynamically using Mendix expression logic.
- If not, it falls back to the attribute value.
2. Column Width Types
Description
The widget supports flexible column widths using styling options.
Supported Types
- Fixed Width (e.g., 100px)
- Auto Width (based on content)
- Flexible Width (percentage-based)
Implementation Approach
- Width styles are applied dynamically per column
- Uses style props or inline styling in React Native
Benefits
- Responsive layout
- Better readability on mobile screens
3. Sorting Functionality
Description
Users can sort table data by clicking on column headers.
Features
- Ascending order (A → Z / Low → High)
- Descending order (Z → A / High → Low)
- Toggle sorting on repeated clicks
Benefits
- Improves data analysis
- User-friendly navigation
4. Filtering Functionality
Description
Allows users to filter data using a search input.
Features
- Basic keyword search
- Multiselect and single select search based on the datatype
- Filters across one or multiple columns
Benefits
- Quick data lookup
- Reduces scrolling effort
5. Selection Options
Single Select
Description
Allows selecting only one row at a time.
Use Cases
- Choosing one option
- Detail view selection
6. Header Styling
Description
Customizable header appearance for better UI.
Options
- Header background color
- Text color
Benefits
- Improves visual hierarchy
- Matches app theme
7. Pagination Functionality
Description
Pagination divides large datasets into smaller chunks (pages), improving performance and user experience by avoiding rendering all records at once.
Features
- Page-based data navigation
- Configurable items per page
- Next / Previous navigation
- Page number indication
- Works seamlessly with:
- Sorting
- Filtering
- Selection
Pagination Flow
- Filter Data
- Sort Data
- Apply Pagination (final step)
👉 Important: Pagination should always be applied after filtering and sorting.
UI Implementation
🔸 Pagination Controls
- Previous Button
- Next Button
- Page Indicator
8. UI & UX Considerations
Mobile Optimization
- Responsive layout
- Touch-friendly interactions
Performance
- Efficient rendering using:
- FlatList (React Native)
- Memoization where needed
Accessibility
- Clear selection indicators
- Readable text and spacing
9. Reusability & Extensibility
Designed For
- Reuse across multiple pages
- Configurable via widget properties
Future Enhancements
- Advanced filters (dropdown/date)
- Expandable rows
10. Conclusion
The Smart Data Table Widget provides a robust, flexible, and user-friendly solution for displaying tabular data in Mendix Native applications. Its modular design allows easy customization and scalability for future enhancements.
Documentation
The Smart Data Table is a reusable Mendix Native widget designed to display structured data with enhanced UI and interactive features. It supports flexible column configuration, dynamic data rendering, sorting, filtering, and row selection mechanisms.
This widget improves usability by allowing users to interact with tabular data efficiently on mobile devices.
Key Features
- Dynamic column configuration
- Column width customization
- Attribute & expression-based data binding
- Sorting functionality
- Filtering with search
- Filtering with multi-select & single-select (radio) options
- Custom header styling
- Row click(Single selection)
1. Column Configuration
Description
Each column in the table is dynamically configurable using:
- Attributes (direct entity fields)
- Expressions (calculated values)
Implementation
- If a column has an expression, it evaluates dynamically using Mendix expression logic.
- If not, it falls back to the attribute value.
2. Column Width Types
Description
The widget supports flexible column widths using styling options.
Supported Types
- Fixed Width (e.g., 100px)
- Auto Width (based on content)
- Flexible Width (percentage-based)
Implementation Approach
- Width styles are applied dynamically per column
- Uses style props or inline styling in React Native
Benefits
- Responsive layout
- Better readability on mobile screens
3. Sorting Functionality
Description
Users can sort table data by clicking on column headers.
Features
- Ascending order (A → Z / Low → High)
- Descending order (Z → A / High → Low)
- Toggle sorting on repeated clicks
Benefits
- Improves data analysis
- User-friendly navigation
4. Filtering Functionality
Description
Allows users to filter data using a search input.
Features
- Basic keyword search
- Multiselect and single select search based on the datatype
- Filters across one or multiple columns
Benefits
- Quick data lookup
- Reduces scrolling effort
5. Selection Options
Single Select
Description
Allows selecting only one row at a time.
Use Cases
- Choosing one option
- Detail view selection
6. Header Styling
Description
Customizable header appearance for better UI.
Options
- Header background color
- Text color
Benefits
- Improves visual hierarchy
- Matches app theme
7. Pagination Functionality
Description
Pagination divides large datasets into smaller chunks (pages), improving performance and user experience by avoiding rendering all records at once.
Features
- Page-based data navigation
- Configurable items per page
- Next / Previous navigation
- Page number indication
- Works seamlessly with:
- Sorting
- Filtering
- Selection
Pagination Flow
- Filter Data
- Sort Data
- Apply Pagination (final step)
👉 Important: Pagination should always be applied after filtering and sorting.
UI Implementation
🔸 Pagination Controls
- Previous Button
- Next Button
- Page Indicator
8. UI & UX Considerations
Mobile Optimization
- Responsive layout
- Touch-friendly interactions
Performance
- Efficient rendering using:
- FlatList (React Native)
- Memoization where needed
Accessibility
- Clear selection indicators
- Readable text and spacing
9. Reusability & Extensibility
Designed For
- Reuse across multiple pages
- Configurable via widget properties
Future Enhancements
- Advanced filters (dropdown/date)
- Expandable rows
10. Conclusion
The Smart Data Table Widget provides a robust, flexible, and user-friendly solution for displaying tabular data in Mendix Native applications. Its modular design allows easy customization and scalability for future enhancements.
Releases
We are excited to introduce the Smart Data Table Widget, a powerful and flexible Mendix Native widget designed to display structured data with advanced interactivity, performance optimization, and mobile-friendly UI.
This release focuses on delivering a highly configurable, user-friendly data table experience with support for sorting, filtering, pagination, and selection mechanisms.
Key Features
Dynamic Column Configuration
- Configure columns using attributes or expressions
- Supports dynamic data rendering
- Flexible and reusable across multiple use cases
Column Width Customization
- Fixed width (px)
- Auto width (content-based)
- Flexible width (percentage)
- Improves responsiveness and layout control
Sorting Functionality
- Ascending & descending sorting
- Toggle sorting via column headers
- Enhances data analysis and usability
Filtering & Search
- Keyword-based, multiselect, radio buttons filter based on the datatype
- Supports filtering across multiple columns
- Enables quick data lookup
Row Selection Options
- Single-select
- Ideal for single record operations
Custom Header Styling
- Configurable header background and text color
- Improves UI consistency and visual hierarchy
Pagination Support
- Page-based data navigation
- Configurable items per page
- Next/Previous controls with page indicators
- Applied after filtering and sorting for accurate results
UI/UX & Performance Enhancements
- Optimized for mobile devices (Mendix Native)
- Smooth rendering using efficient list handling (e.g., FlatList)
- Touch-friendly interactions
- Clean and readable layout
- Performance optimized for large datasets
Reusability & Extensibility
- Designed for reuse across multiple pages
- Fully configurable via widget properties
- Easily extendable for future enhancements
Planned Enhancements
- Advanced filters ( date-based)
- Expandable / collapsible rows
Technical Notes
- Pagination is applied after filtering and sorting
- Supports both attribute-based and expression-based bindings
- Built using React Native for Mendix Native apps
Version Information
- Version: 1.0.0
- Release Type: Initial Release
- Compatibility: Mendix Native Applications