Skip to main content

Table Widget

The Table widget provides a powerful and flexible data display component for your applications. It supports various data sources, interactive features, sorting, filtering, pagination, and export capabilities.

Overviewโ€‹

The Table widget allows you to display tabular data with rich formatting options, interactive controls, and responsive design. It can connect to different data sources including collections, reports, external databases, and variables.

Table Widget
Table Widget

Basic Configurationโ€‹

Global Settingsโ€‹

Nameโ€‹

  • Field: Name
  • Purpose: Sets the display name for the widget
  • Usage: Used for identification in the widget list and management

Variable/Modelโ€‹

  • Field: Variable/Model
  • Purpose: Defines the data model that stores the table data
  • Usage: Specify the variable name that will hold the table's data array
  • Example: tableData, users, products
Table Global Settings
Table Global Settings

Data Source Configurationโ€‹

Data Source Typesโ€‹

Collectionโ€‹

  • Option: Collection
  • Description: Connect to a database collection
  • Configuration:
    • Select from available collections in your project
    • Direct access to collection data with automatic querying
Table Data Source Collection
Table Data Source Collection

Reportโ€‹

  • Option: Report
  • Description: Display data from predefined reports
  • Configuration:
    • Choose from existing reports
    • Inherits report structure and calculations
Table Data Source Report
Table Data Source Report

EDS (External Database Source)โ€‹

  • Option: EDS
  • Description: Connect to external databases
  • Configuration:
    • Select configured database connections
    • Supports SQL, LDAP, Google Sheets
    • Custom query capabilities
Table Data Source [EDS](/docs/en/ressources/global/eds)
Table Data Source [EDS](/docs/en/ressources/global/eds)

Variableโ€‹

  • Option: Variable
  • Description: Use data from application variables
  • Configuration:
    • Bind to existing data models
    • Manual data management
    • Custom event handling
Table Data Source Variable
Table Data Source Variable

Usersโ€‹

  • Option: Users
  • Description: Display user management data
  • Configuration:
    • Access to user directory
    • Built-in user properties
Table Data Source Users
Table Data Source Users

Query Configurationโ€‹

Standard Queryโ€‹

  • Purpose: Define data filtering and selection criteria
  • Format: JavaScript expressions with model variables
  • Syntax: Use {{variableName}} for dynamic values
  • Example: { status: "active", category: {{selectedCategory}} }

Aggregation Queryโ€‹

  • Purpose: Perform data aggregation operations
  • Features:
    • Group by operations
    • Count, sum, average calculations
    • Complex data transformations
  • Toggle: Enable "Is Aggregation" option

Sort Configurationโ€‹

  • Sort By: Field name for default sorting
  • Direction:
    • 1 for ascending order
    • -1 for descending order
  • Sort Object: Advanced sorting with multiple fields

Limitโ€‹

  • Purpose: Set maximum number of records per page
  • Default: 10 records
  • Range: Any positive integer

Column Configurationโ€‹

Column Typesโ€‹

Stringโ€‹

  • Description: Text data display
  • Features:
    • Filterable with text search
    • Sortable alphabetically
    • Custom HTML formatting

Numberโ€‹

  • Description: Numeric data display
  • Features:
    • Numeric filtering (equals, greater than, less than)
    • Numeric sorting
    • Decimal precision control

Dateโ€‹

  • Description: Date and time display
  • Features:
    • Date range filtering
    • Chronological sorting
    • Custom date formatting
  • Format: Configure using dateFormat option
  • Example: YYYY-MM-DD HH:mm:ss

Currencyโ€‹

  • Description: Monetary value display
  • Features:
    • Automatic currency formatting
    • Locale-specific display
    • Numeric filtering
  • Configuration:
    • currency_local: Locale (e.g., 'en-US', 'fr-FR')
    • currency: Currency code (e.g., 'USD', 'EUR')

Booleanโ€‹

  • Description: True/false value display
  • Features:
    • Checkbox representation
    • True/False filtering

Arrayโ€‹

  • Description: Array data display
  • Features:
    • List formatting
    • Array-specific filtering

Buttonโ€‹

  • Description: Action buttons within table cells
  • Features:
    • Multiple buttons per column
    • Custom actions and styling
    • Conditional visibility

Selectionโ€‹

  • Description: Row selection checkboxes
  • Features:
    • Multi-row selection
    • Select all functionality
    • Selection event handling
Table Column Types
Table Column Types

Column Propertiesโ€‹

Fieldโ€‹

  • Purpose: Database field name or data property
  • Format: Use dot notation for nested properties
  • Example: user.name, product.price

Labelโ€‹

  • Purpose: Display header for the column
  • Localization: Supports translation keys
  • Example: User Name, Product Price

Widthโ€‹

  • Purpose: Set column width
  • Format: Pixels or percentage
  • Example: 150px, 20%
Table Column Properties
Table Column Properties

Column Behaviorโ€‹

Filterableโ€‹

  • Purpose: Enable filtering for the column
  • Features:
    • Type-specific filter controls
    • Real-time filtering
    • Multiple filter operators

Sortableโ€‹

  • Purpose: Enable sorting for the column
  • Features:
    • Click-to-sort headers
    • Visual sort indicators
    • Multi-column sorting

Fixed Positionโ€‹

  • Purpose: Fix column position during horizontal scroll
  • Options:
    • left: Fix to left side
    • right: Fix to right side
    • none: Not fixed

Required (for editable tables)โ€‹

  • Purpose: Mark field as required for data entry
  • Validation: Prevents empty submissions

Visibilityโ€‹

  • Purpose: Control column display conditionally
  • Format: JavaScript expression
  • Example: {{userRole}} === 'admin'
Table Column Behavior
Table Column Behavior

Interactive Featuresโ€‹

Filteringโ€‹

  • Toggle: Show/hide filter controls
  • Per-Column: Individual filter controls
  • Filter Types:
    • Text search (contains, starts with, ends with)
    • Numeric comparison (equals, greater than, less than)
    • Date ranges
    • Boolean selection

Paginationโ€‹

  • Controls: Previous/Next navigation
  • Page Size: Configurable items per page
  • Display: Current page and total records
  • Position: Top and bottom navigation

Sortingโ€‹

  • Click Headers: Sort by clicking column headers
  • Visual Indicators: Sort direction arrows
  • Multi-Column: Advanced sorting capabilities

Export Optionsโ€‹

CSV Exportโ€‹

  • Value Separator: Comma, semicolon, or tab
  • Decimal Separator: Point or comma
  • Date Format: Customizable date formatting
  • File Name: Custom export filename

Excel Exportโ€‹

  • Sheet Name: Custom worksheet name
  • File Name: Custom export filename
  • Formatting: Preserves data types

Selection Handlingโ€‹

  • Row Selection: Checkbox-based selection
  • Selection Events: Handle selection changes
  • Bulk Actions: Operate on selected rows
Table Interactive Features
Table Interactive Features

Advanced Featuresโ€‹

Aggregation Supportโ€‹

  • Group By: Data grouping operations
  • Calculations: Sum, count, average functions
  • Nested Data: Hierarchical data display

Real-time Updatesโ€‹

  • Data Binding: Automatic updates when source data changes
  • Refresh Controls: Manual refresh capabilities
  • Loading States: Visual feedback during data operations

Mobile Optimizationโ€‹

  • Responsive Layout: Automatic mobile adaptation
  • Touch Controls: Touch-friendly interactions
  • Collapsible Details: Expandable row details on mobile

Usage Exampleโ€‹

Table Example
Table Example

Best Practicesโ€‹

Performanceโ€‹

  • Use appropriate limits for large datasets
  • Implement server-side filtering for big data
  • Consider pagination for user experience

User Experienceโ€‹

  • Provide clear column headers
  • Use consistent data formatting
  • Include loading states for better feedback

Accessibilityโ€‹

  • Ensure proper keyboard navigation
  • Use semantic HTML structure
  • Provide alternative text for visual elements

Data Managementโ€‹

  • Validate data before display
  • Handle error states gracefully
  • Implement proper data refresh strategies

Troubleshootingโ€‹

Common Issuesโ€‹

Data Not Loadingโ€‹

  • Check data source configuration
  • Verify query syntax
  • Ensure proper permissions

Formatting Problemsโ€‹

  • Validate column type settings
  • Check date/currency format configurations
  • Verify CSS class applications

Performance Issuesโ€‹

  • Reduce page size for large datasets
  • Optimize query complexity
  • Consider server-side processing

Debug Tipsโ€‹

  • Use browser developer tools
  • Check console for error messages
  • Test queries independently
  • Verify data source connectivity