PL 400 Canvas Apps 3 — Questions and Answers
Question 1: Which property of a Canvas App Text Input control should be set to make it act as a password field?
- InputTextType = Password
- Mode = Password (Correct answer)
- ContentLanguage = secure
- HintText = password
Correct answer: Mode = Password
Setting the Mode property of a Text Input to Password masks the entered characters with dots.
Question 2: In Canvas Apps, what does the Concurrent() function do?
- Runs multiple formulas sequentially and returns the last result
- Executes multiple formulas simultaneously to reduce load time (Correct answer)
- Creates parallel screen navigations
- Launches multiple Power Automate flows in order
Correct answer: Executes multiple formulas simultaneously to reduce load time
Concurrent() runs all its arguments at the same time, reducing total wait time when multiple data calls are independent.
Question 3: A Canvas App must filter a Dataverse table where a lookup column equals the current user's team. Which function retrieves the current user's Azure AD object?
- CurrentUser()
- User() (Correct answer)
- Office365Users.MyProfile()
- AzureAD.GetCurrentUser()
Correct answer: User()
The User() function returns the current signed-in user's full name, email, and image within a Canvas App.
Question 4: What is the maximum delegation limit for data sources in Canvas Apps and how can a developer work around it for large datasets?
- 500 records; use ClearCollect with Patch
- 2000 records; use delegable filter predicates or server-side views (Correct answer)
- 10000 records; use SharePoint instead of Dataverse
- Unlimited; delegation only affects performance
Correct answer: 2000 records; use delegable filter predicates or server-side views
Canvas Apps retrieve up to 2000 records by default, but using delegable query functions pushes filtering to the server, handling millions of records correctly.
Question 5: A developer wants to prevent a Button from being clicked while a Patch operation is running. What is the best approach?
- Set button Visible = false during operation
- Set button DisplayMode = DisplayMode.Disabled while isLoading is true (Correct answer)
- Delete and recreate the button after each click
- Use a Timer to block clicks for 2 seconds
Correct answer: Set button DisplayMode = DisplayMode.Disabled while isLoading is true
Setting DisplayMode to DisplayMode.Disabled grays out the button and prevents interaction without hiding it from the user.
Question 6: In Canvas Apps, which function would you use to create a new record in Dataverse and return the created record's GUID?
- Collect(TableName, {fields})
- Patch(TableName, Defaults(TableName), {fields}) (Correct answer)
- SubmitForm(FormName)
- CreateRecord(TableName, {fields})
Correct answer: Patch(TableName, Defaults(TableName), {fields})
Patch() with Defaults() as the base record creates a new row in Dataverse and returns the newly created record including its GUID.
Question 7: Which Canvas App feature allows developers to reuse a group of controls with shared logic across multiple screens?
- Component Libraries (Correct answer)
- Screen Templates
- Power Automate Flows
- Custom Connectors
Correct answer: Component Libraries
Component Libraries allow developers to build reusable Canvas App components that can be shared across apps and screens.
Which property of a Canvas App Text Input control should be set to make it act as a password field?