2106 Working With Table Component
Working with Table Component
Introduction to Table Component
Table Component Overview
What is a Table Component?
When to Use Table Components
- Browsing Multiple Records - Users need to see many records at once
- Scanning Data - Quick visual scanning of information
- Comparing Records - Side-by-side comparison is important
- Text-Heavy Data - Multiple text fields to display
- Sorting & Filtering - Users need to organize data their way
- Inline Editing - Quick edits without opening forms
- Bulk Operations - Actions on multiple records
- Data Export - Export to Excel or CSV needed
Table vs Other Components
- List Component - When desktop view is primary (lists better for mobile)
- Card Component - When text data is more important than images
- Kanban - When workflow status isn't the primary organization
Creating a Table Component
Step-by-Step: Adding Table to Page
- Open Page Builder and navigate to your page
- Click "+ Add Component" button
- Select "Table" from Data Components
- Choose which table to display data from
- Configure initial settings
- Click "Save"
- Table appears on page with default columns
Basic Table Settings
- Data Source - Which table to display records from
- Component Name - Internal name for the component
- Display Name - Title shown above table (optional)
- Records Per Page - Number of rows to display (10, 25, 50, 100)
- Default Sort - Which column to sort by initially
- Sort Direction - Ascending or descending
Column Management
Adding Columns
- Edit table component
- Go to "Columns" section
- Click "+ Add Column"
- Select field to display
- Configure column settings
- Save
Column types you can add:
- Regular Fields - Any field from the table
- Connected Fields - Fields from connected records
- Summary Fields - Aggregated data from child records
- Equation Fields - Calculated values
- System Fields - Record ID, Date Created, Date Modified
Removing Columns
- Edit table component
- In "Columns" section, find column to remove
- Click "X" or delete icon
- Confirm removal
- Save component
Note: Removing columns from table doesn't delete the field from your database, just hides it from this table view.
Reordering Columns
- In Columns section, drag column handles
- Drop in desired position
- Order from left to right
- Save changes
Column order best practices:
- Put most important information first (left)
- Group related columns together
- Put action column last (right)
- Consider user's natural reading flow
Column Settings and Formatting
Display Settings
- Column Name - Header text for column
- Alignment - Left, center, or right alignment
- Width - Fixed width or auto
- Wrap Text - Allow text to wrap to multiple lines
- Truncate - Cut off long text with "..."
Formatting Options
- Date Format - For date fields (MM/DD/YYYY, DD/MM/YYYY, etc.)
- Number Format - Decimal places, thousands separator
- Currency Symbol - Dollar sign, euro, etc.
- Link Style - How links are displayed
- Image Size - Thumbnail size for image fields
Behavior Settings
- Sortable - Allow sorting by this column
- Filterable - Include in filter options
- Searchable - Include in search
- Editable - Allow inline editing
- Visible - Show or hide column
Column Width Control
Fixed Width
- Set specific pixel width (100px, 200px)
- Column stays that width
- Good for consistent-length data (IDs, codes)
Auto Width
- Column adjusts to content
- Flexible based on data
- Good for variable-length text
Percentage Width
- Column takes % of table width
- Responsive to screen size
- Good for proportional layouts
Resizable Columns
- Users can drag column borders to resize
- Enable in table settings
- Gives users control
- Resizing saved per user
Sorting Options
Single Column Sorting
- Click Column Header - Sort by that column ascending
- Click Again - Sort descending
- Click Third Time - Remove sort (back to default)
- Visual Indicator - Arrow shows sort direction
Multi-Column Sorting
- Primary Sort - Click first column header
- Secondary Sort - Hold Shift + click second column
- Tertiary Sort - Hold Shift + click third column
- Sort Priority - Numbers show sort order (1, 2, 3)
Example: Sort customers by Status (ascending), then by Last Name (ascending), then by Date Created (descending)
Default Sort Order
- Default Sort Field - Which column to sort by initially
- Sort Direction - Ascending or descending
- Secondary Sorts - Additional default sorts
Common default sorts:
- Date Created descending - Newest records first
- Name ascending - Alphabetical order
- Priority descending - High priority first
- Status + Date - Group by status, newest in each group
Sort Best Practices
- Always set a default sort (don't leave random order)
- Sort by most logical field for your use case
- Consider user's primary need (newest, alphabetical, priority)
- Enable sorting on all relevant columns
- Disable sorting on image/attachment columns
Filtering Options
Basic Table Filters
Filter Types
- Column Filters - Filter icon in column header
- Advanced Filters - Complex multi-field filtering
- Quick Filters - Pre-configured filter buttons
- Search - Full-text search across fields
Column Filtering
- Click filter icon in column header
- Select filter criteria:
- Text fields - Contains, equals, starts with, ends with
- Number fields - Equals, greater than, less than, between
- Date fields - Before, after, between, last X days
- Select fields - Choose from options
- Checkbox fields - Select one or more
- Enter filter value
- Click Apply
- Table updates to show filtered results
Advanced Filters
- Multiple Conditions - Filter by many fields at once
- AND/OR Logic - Combine conditions
- Nested Groups - Complex filter logic
- Operators - Greater than, less than, between, contains, etc.
Example advanced filter:
- (Status = "Active" OR Status = "Pending")
- AND (Total > $1000)
- AND (Date Created > Last 30 days)
Saved Filters
- Configure filter conditions
- Click "Save Filter"
- Name the filter (e.g., "High Priority Active")
- Filter appears in filter dropdown
- Users can quickly apply saved filters
Saved filter benefits:
- One-click access to complex filters
- Consistency across users
- Faster than rebuilding filters
- Can be shared or per-user
Quick Filters
Search Functionality
- Search Box - Above or within table
- Multiple Fields - Searches across all searchable columns
- Real-Time - Updates as you type
- Clear Search - X button to clear
Search configuration:
- Enable/disable search
- Choose which fields to search
- Search placeholder text
- Minimum characters before search activates
Inline Editing
What is Inline Editing?
Enabling Inline Editing
- Edit table component
- Go to column settings
- Check "Enable Inline Editing" for specific columns
- Set permissions (who can edit)
- Save component
Inline Editing Behavior
- Click Cell - Cell becomes editable
- Edit Value - Change text, select option, etc.
- Save - Press Enter or click outside cell
- Cancel - Press Escape to cancel changes
- Validation - Required fields, format validation still apply
- Immediate Save - Changes save to database immediately
Editable Field Types
- Text Fields - Text input appears
- Number/Currency - Number input appears
- Select Fields - Dropdown appears
- Checkbox Fields - Checkboxes appear
- Date Fields - Date picker appears
- Yes/No Fields - Toggle switch
Fields that don't support inline editing:
- File/Attachment fields
- Rich text fields (too complex)
- Connection fields (use forms instead)
Inline Editing Best Practices
- Enable for simple, frequently edited fields
- Don't enable for every column (cluttered)
- Good for: status, priority, quantities, dates
- Avoid for: critical fields requiring validation
- Consider permissions carefully
- Provide visual feedback on save
Action Links in Tables
What are Action Links?
Common Action Links
View/Details
- Opens record details page
- Shows full record information
- Usually an eye icon or "View" button
Edit
- Opens edit form
- Can open in popup or navigate to page
- Usually a pencil icon or "Edit" button
Delete
- Deletes the record
- Should show confirmation
- Usually trash icon or "Delete" button
- Consider permissions carefully
Custom Actions
- Send email
- Generate PDF
- Change status
- Duplicate record
- Run workflow
- Any custom operation
Adding Action Links
- Edit table component
- Go to "Action Links" section
- Click "+ Add Action Link"
- Configure action:
- Action type (view, edit, delete, custom)
- Display style (button, icon, text link)
- Label or icon
- Color scheme
- Confirmation required
- Set permissions (who can use action)
- Save component
Action Link Placement
- Actions Column - Dedicated rightmost column for all actions
- Row Hover - Actions appear when hovering over row
- Inline - Actions embedded in specific columns
- Dropdown Menu - Actions in a "..." menu
Recommended: Actions column with icon buttons for most common operations.
Action Link Conditional Display
- Field Values - Only show "Approve" if Status = "Pending"
- Permissions - Only show "Delete" for admins
- Record Ownership - Only owner can edit
- Date-Based - Only show if date is in future
Display Rules
What are Display Rules?
Column Display Rules
- Based on User Role - Show "Salary" only to managers
- Based on Data - Show "Discount" column only if any discounts exist
- Based on Settings - Show/hide based on app configuration
Row Display Rules
- Default Filters - Only show active records by default
- User-Based - Show only records user created
- Role-Based - Show different records to different roles
- Date-Based - Only show current or upcoming events
Cell Styling Rules
- Color Coding - Red for overdue, green for completed
- Icons - Warning icon for low stock
- Bold/Italic - Emphasis for important rows
- Background Color - Highlight high priority items
Example: Highlight rows where Status = "Urgent" with red background, Status = "Completed" with green background.
Creating Display Rules
- Edit table component
- Go to "Display Rules" section
- Click "+ Add Rule"
- Define condition (if Status equals "Urgent")
- Define action (set background color to red)
- Set rule priority if multiple rules apply
- Save component
Table Pagination and Limits
Pagination Settings
- Records Per Page - 10, 25, 50, 100, or custom
- Page Navigation - Previous/next buttons, page numbers
- Show Total - Display total record count
- Jump to Page - Enter page number to jump to
Choosing Page Size
- 10-25 records - Good for detailed information, lots of columns
- 50 records - Balanced for most use cases
- 100 records - When users need to see more at once
- Infinite Scroll - Load more as user scrolls (mobile-friendly)
Consider:
- More records = slower loading
- Fewer records = more clicking through pages
- Match user's typical browsing needs
Total Record Limits
- Performance - Prevent loading thousands of records
- Set Limit - Maximum 1000, 5000, etc.
- Encourage Filtering - Users must filter to see all data
- Show Warning - "Showing first 1000 of 5000 results - please filter"
Exporting from Tables
Export Functionality
- Export to Excel - .xlsx format
- Export to CSV - .csv format
- Export to PDF - .pdf format
- Print - Print-friendly view
Export Options
- Visible Columns Only - Export only displayed columns
- All Columns - Include hidden columns
- Current Page - Export only current page
- All Pages - Export all filtered results
- Selected Rows - Export only checked rows
Enabling Export
- Edit table component
- Go to "Export" settings
- Enable export button
- Choose export formats to offer
- Set permissions (who can export)
- Save component
Export Best Practices
- Enable export for data users need offline
- Consider data sensitivity before enabling
- Set appropriate permissions
- Log exports for audit trail
- Limit export to filtered results to prevent bulk data export
Table Performance Optimization
Performance Considerations
- Number of Records - More records = slower
- Number of Columns - More columns = slower
- Connected Fields - Require additional queries
- Summary Fields - Calculate on-the-fly
- Images - Large images slow rendering
- Complex Calculations - Equation fields add overhead
Optimization Strategies
Limit Records
- Set default filters (only active records)
- Reduce records per page
- Set maximum record limit
- Encourage users to filter
Optimize Columns
- Show only necessary columns
- Limit connected field columns
- Avoid too many summary fields
- Hide rarely-used columns by default
Optimize Images
- Use thumbnail size for table display
- Don't show full-size images in tables
- Consider image lazy loading
Index Fields
- Index fields used for sorting
- Index fields used for filtering
- Improves query performance
Lazy Loading
- Initial Load - Load first page only
- On Scroll - Load more as user scrolls
- On Demand - Load details when row clicked
- Background Loading - Load additional pages in background
Advanced Table Features
Row Grouping
- Group by Category - Show category headers
- Group by Date - Today, Yesterday, This Week, etc.
- Group by Status - Separate sections per status
- Collapsible Groups - Expand/collapse groups
- Group Totals - Show summary per group
Column Freezing
- Freeze First Column - Keep ID or name visible
- Freeze Multiple - Keep first 2-3 columns visible
- Freeze Actions - Keep action column visible
- Horizontal Scroll - Scroll other columns independently
Bulk Actions
- Checkbox Column - Select individual rows
- Select All - Select all on page or all filtered
- Bulk Delete - Delete selected records
- Bulk Update - Update field values for selected
- Bulk Export - Export selected records
- Custom Bulk Actions - Send emails, change status, etc.
Row Details
- Expand Icon - Click to expand row
- Additional Info - Show details not in columns
- Child Records - Show related records in expanded area
- Actions - Additional actions in expanded area
Column Totals
- Sum - Total of numeric columns
- Average - Average value
- Count - Total number of records
- Min/Max - Minimum or maximum value
Best Practices for Table Design
Column Selection
- Show 5-10 columns maximum for readability
- Prioritize most important information
- Consider screen size and resolution
- Make additional columns available but hidden by default
- Let users customize visible columns
Layout and Formatting
- Use consistent column widths
- Align numbers to the right
- Align text to the left
- Use color sparingly for emphasis
- Alternate row colors for readability
- Use adequate padding and spacing
User Experience
- Provide search for tables with many records
- Offer useful default filters
- Set logical default sort order
- Make action links obvious
- Show helpful empty states
- Provide clear column headers
- Show loading indicators
Mobile Considerations
- Consider using List or Card component instead
- If using table, keep columns minimal (2-4)
- Make table horizontally scrollable
- Use larger touch targets for actions
- Test on actual mobile devices
Common Table Patterns
Management Table
- All records table with key columns
- Search and filter options
- Add button to create new
- Edit/Delete actions per row
- Example: Customer management, product catalog
Report Table
- Many numeric columns
- Column totals and averages
- Export functionality
- Date range filters
- Example: Sales reports, financial data
Dashboard Table
- Recent or pending items
- Status indicators
- Quick actions
- Limited columns (3-5)
- Example: Recent orders, pending tasks
Selection Table
- Checkboxes for selection
- Search and filter
- Bulk selection options
- Confirmation of selections
- Example: Select products for order, assign users to project
Troubleshooting Table Issues
Table Loading Slowly
- Reduce records per page
- Remove unnecessary columns
- Limit connected field columns
- Add default filters to reduce records
- Optimize images (use thumbnails)
- Check database indexes
Columns Not Displaying
- Check column visibility settings
- Verify field permissions
- Check display rules
- Ensure field has data
- Clear browser cache
Sorting Not Working
- Verify sorting is enabled for column
- Check field type (some fields can't sort)
- Check for display rules affecting sort
- Verify no JavaScript errors
Filters Not Working
- Verify filtering is enabled
- Check field data matches filter criteria
- Clear existing filters
- Check for conflicting filters
- Verify field permissions
Inline Editing Not Saving
- Check user has edit permissions
- Verify field is editable in settings
- Check for validation errors
- Ensure required fields are filled
- Check browser console for errors
Summary
- Column Management - Adding, removing, ordering, configuring columns
- Sorting - Single and multi-column sorting
- Filtering - Column filters, advanced filters, saved filters
- Inline Editing - Quick editing directly in tables
- Action Links - Buttons for view, edit, delete, custom actions
- Display Rules - Conditional visibility and formatting
- Pagination - Managing large datasets
- Exporting - Excel, CSV, PDF export
- Performance - Optimization strategies
- Best Practices - Professional table design
Checklist
- Create and configure a table component
- Add, remove, and reorder columns
- Configure column settings and formatting
- Set up sorting and filtering
- Enable inline editing for appropriate fields
- Add action links with proper configuration
- Create display rules for conditional formatting
- Configure pagination appropriately
- Enable export functionality
- Optimize table performance
- Apply table design best practices
Next Steps
Next: Working with Form Component - Deep dive into form configuration
Hands-On Exercise (To Be Added)
Build a comprehensive customer management table:
- Create table with 8-10 well-chosen columns
- Configure inline editing for status and priority
- Add action links: View, Edit, Delete, Send Email
- Create saved filters: Active, Inactive, Recent
- Add quick filters above table
- Enable search functionality
- Configure display rules for visual indicators
- Set up column totals
- Enable export to Excel
- Test all functionality thoroughly
Knowledge Check (To Be Added)
Quiz will test understanding of:
- When to use table vs other components
- Column configuration best practices
- Sorting and filtering strategies
- Inline editing appropriate use cases
- Action link configuration
- Display rules and conditional formatting
- Performance optimization techniques
- Table design best practices
We'd love to hear your feedback.