Session 4 — Based on the course by Barbara Andrews, Lead Microsoft Technical Trainer
| Feature | Canvas Apps | Model-Driven Apps |
|---|---|---|
| Starting point | Blank canvas — full control over layout | Data model in Microsoft Dataverse |
| UI generation | Manual drag-and-drop (like PowerPoint) | Automatically generated from data structure |
| Data sources | Multiple: SharePoint, Excel, Dataverse, and more | Microsoft Dataverse only |
| Device capabilities | GPS, camera, barcode scanner access | Responsive across devices, no hardware controls |
| Best for | Task-specific, custom UI, field workers, embedded forms/widgets | Data-centric, process-driven, enterprise CRM/ERP |
| Security trimming | Manual | Built-in — users only see what they're authorized to access |
| Embeddable | Yes — into SharePoint, Teams, other platforms | Standalone enterprise apps |
| User personalization | Limited | Yes — pinned records, collapsed sections, recent records |
| Examples | Incident reporting, field inspections, employee onboarding, real estate listing app | Fundraiser donation dashboard, sales pipeline, member relationship tracking |
Display multiple records from a data source in lists, tables, or grids
View, edit, or create individual records from a data table
Text boxes, buttons, drop-downs, toggles, sliders, date pickers
AI Builder + hardware controls (camera, barcode, GPS, microphone)
Excel-like formulas for logic, calculations, data manipulation
Auto layout, manual, and flexible height — responsive design
Conversational AI embedded directly in the app for users
Scan for formula errors, performance issues, and accessibility barriers
| # | Feature | What it does |
|---|---|---|
| 1 | Show Chart button | Transforms raw table data into visual charts for quick insight into trends and performance |
| 2 | Row selection | Select multiple records for bulk operations like editing or deactivating |
| 3 | Edit button | Inline record updates without leaving the view |
| 4 | Activate/Deactivate | Quickly change status for products, records, or items |
| 5 | Filter icon | Narrow down results based on specific criteria |
| 6 | Command Bar | Central hub for advanced actions: assign records, share links, trigger Power Automate flows |
| 7 | Search box | Locate specific entries instantly across the table |
| 8 | Pagination controls | Navigate smoothly across large datasets |
In Power Apps, click Create and use Copilot to generate a table for time off requests (Start/End times). Specify one table only.
Add choice column "Time Off Reason," choice column "Time Off Type," date column "Submission Date," choice column "Approval Status," multi-line text column "Request Details." Remove unwanted auto-generated fields (Request Name, Reason1, duplicate columns).
Add the existing Dataverse "User" table. Create a one-to-many relationship: User (one) → Time Off Request (many). Display name: "Requesting Employee."
Click "Save and Open" to launch the generated Canvas app in Power Apps Studio. App is built from the data model automatically.
Use Copilot to add a new screen called "Equipment Checkout" to the existing app. Keep the generated screen.
Drag and drop Insert → Layout → Sidebar. This creates a two-pane layout with a list on the left and details on the right.
Rename sidebar container to "Equipment Container." Insert a vertical Gallery connected to the Equipment table. Name it "Equipment List." Set layout to Title and Subtitle. Add a horizontal "Equipment Search Container" above the gallery with: a text input (hint text: "search," name: "Equip Search Input") and a Search icon. Set heights to 44. Use Formula Bar to set the Gallery's Items property to a filter formula from the lab.
Rename main container to "Details Container." Add vertical container "Record Details." Inside it, insert an Edit Form connected to Equipment table → name it "Equipment Form." Set Item property via Advanced tab. Set default mode to Edit, columns to 2. Add horizontal container "Selected Record" (height: 50) above Record Details with a text label ("selected record title") and a Save icon button (height/width: 40). Set Save icon's OnSelect to SubmitForm(Equipment Form).
In Header Container, insert a text label "Equipment Checkout Form." Set font weight to Semi-Bold, padding to 16 all sides, height to 40, flexible width on. Add a Home icon so users can navigate back to the main screen. Set Welcome screen image OnSelect to navigate to Equipment Checkout screen.
| Field name | Data type | Notes |
|---|---|---|
| Employee Name | Text | Primary key (auto-set) |
| Start Time | Date/Time | Request start |
| End Time | Date/Time | Request end |
| Time Off Reason | Choice | Added via Copilot prompt |
| Time Off Type | Choice | Added via Copilot prompt |
| Submission Date | Date | Added via Copilot prompt |
| Approval Status | Choice | Added via Copilot prompt |
| Status | Choice | Added via Copilot prompt |
| Request Details | Multi-line text | Added via Copilot prompt |
Click to reveal answers ↓