Create a Flyout menu for ribbons in Ribbon Workbench | XrmToolBox

Here’s how you can create Flyout menu in Ribbon Workbench.
Also, for most ribbon customization, you can edit using the Command Editor in Power Apps but this is in Preview at the time of writing this post –

  1. How to add low-code Power Fx buttons to model-driven apps (Commanding v2) – https://www.develop1.net/public/post/2021/07/25/commandingv2
  2. Comparison between Ribbon Workbench and Power Fx Command Buttons –
    https://www.develop1.net/public/post/2021/07/25/RibbonWorkbench-vs-PowerFx

Meanwhile, here’s how you can create a Flyout menu in Dynamics 365 CRM Ribbon using Ribbon Workbench in the XrmToolBox

Ribbon Workbench in XrmToolBox

In classic XrmToolBox style, here’s how you create a Flyout button. Given that you are aware of how to load the Entity’s ribbon in a solution and then onto the Ribbon Workbench, we’ll see at how we can create a button on Account Form –

  1. Insert the Flyout menu in the Ribbon where you want to insert this. In this case, in the Form ribbon of the Account entity.

  2. Once dragged, pick a Menu Section control and insert into the flyout canvas shown in screenshot below. Because all the Buttons will fall under that Buttons can’t be added directly into the Flyout menu.

  3. Now, you can name the Menu Section itself as show below –
    Note: In case if you named the Section correctly and it didn’t appear the first time, clicking on some other component and then clicking it back will show it correctly.

  4. Now, you can insert buttons underneath the section. In this case, I’ll add 2 buttons for Pause and Cancel.


  5. Make sure you populate the Command and the ModernImage icon for it’s icon so that the buttons are visible when you publish. Without a Command being attached to the Button, the button will not be visible.
    The final button layout will look like this.
    Note: In case if you named the Section correctly and it didn’t appear the first time, clicking on some other component and then clicking it back will show it correctly.

  6. Once ready, publish the changes and see. Your Flyout menu will be ready and will look like this!

Hope this was useful!

Here are some more XrmToolBox related posts which you might want to check –

  1. Show custom ribbon button based on Security Role of the logged in User in Dynamics 365 | Ribbon Workbench in XrmToolbox
  2. Connecting XrmToolBox to an MFA enabled Dynamics 365 environment | Azure AD
  3. Find deprecated JS code used in your Dynamics 365 environment | Dynamics 365 v9 JS Validator tool | XrmToolBox
  4. Delete App Passwords created by other users in Office 365 | Multi-factor authentication
  5. Single record and multiple record auditing in Dynamics 365 to Audit record access | M365 Compliance
  6. Filter records in a View owned by a Team you are a member of | Dynamics 365 CRM
  7. Show custom ribbon button based on Security Role of the logged in User in Dynamics 365 | Ribbon Workbench in XrmToolbox
  8. Ribbon button visibility based on a field value in Dynamics 365 | Ribbon Workbench
  9. Get GUID of the current View in Dynamics 365 CRM JS from ribbon button | Ribbon Workbench
  10. Pass Execution Context to JS Script function as a parameter from a Ribbon button in Dynamics 365 | Ribbon Workbench

Thank you!

Install On-Premise Gateway from Power Automate or Power Apps | Power Platform

Here’s your summary to understand what are On-Prem Gateways in Power Automate and how you can set them up.
The same can be done from Power Apps as well (https://make.powerapps.com/)



So let’s see how you can set it up and get started. This post is for beginners who are looking to install an on-premise gateway. So this should be fairly simple process! ūüėä

Create an On-Prem Gateway in Power Automate

Here’s how you can create an On-Prem Gateway in Power Automate

  1. Expand the Data section and look for Gateways. Then, when you go in Gateways, you will see + New gateway button.


  2. Then, you’ll be taken to a new webpage (https://powerapps.microsoft.com/en-gb/downloads/). Here’s you’ll be able to Download an on-prem Gateway

  3. Once you click on Download, it’ll start downloading the Installer on your machine.


    It’ll complete, then you can simply open it to start installing.

  4. Once you begin the installation, choose where the Gateway folder path should be.
    Then, click Install.


    And it’ll install and will take a few moments.
  5. Once completed, it’ll ask for the email address (or rather username needed to install the Gateway)


  6. Further, authentication will take place as below (in case you have MFA enabled, that will be occur too)


  7. And, it’ll Sign you in.

  8. Once in, it’ll ask if this is a migration or the first time setup.
    Since I’m installing it for the first time, I’ll choose the first option as this is a fresh install.

  9. Upon clicking Next, I’ll be asked to set Properties for the gateway.
    So, to identify the machine, I’ll select a name with which I can identify and then enter a Recovery Key which I will store safely with me.
    Then, click Configure.


  10. It’ll take a few moments to configure.




  11. And now, you’re done in a few moments. Finally, the Gateway is now installed.


Configuration & Info

Given that your Gateway is now installed, you can always go in the File Explorer where you set it up and open the below app

If you wish to check the configurations in detail, you’ll need to Sign In again

And in Power Automate, you’ll see the Gateway is listed.


And if you open it up, you’ll see the high-level details and status of it.

Here are some Power Automate posts you want to check out –

  1. Co-presence in Power Automate | Multiple users working on a Flow
  2. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  3. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  4. Call a Flow from Canvas Power App and get back response | Power Platform\
  5. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  6. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  7. Asynchronous HTTP Response from a Flow | Power Automate
  8. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  9. Converting JSON to XML and XML to JSON in a Flow | Power Automate
  10. Duration field in Dynamics 365 converts Hours value to Days in Dynamics 365 | [Flow Workaround to convert in Hours and Mins]

Thank you!

Column dependency for Event Handlers for Model-Driven Apps – Modern vs Classic form designer | Power Apps Tip

You must be already familiar with Locking fields on the form in Dynamics 356 CRM so that they are not removed from the form unless you remove the Lock.

Also, it’s a “best practice” to add Dependencies explicitly to your events so that if multiple customers are working on the same form, no one should delete a field which is required by Events added to fields/forms.

In the modern form designer, it looks like below


And when you try to remove the field from the form, you’ll see this error.

Now, there’s also another way you can lock this field and not remove it explicitly due to a dependency – Let’s see what we have in the modern app designer!!

Events dependency in modern app designer

Let’s say you are using the modern app designer to work on your forms, here’s what you notice

  1. For example, you are using the modern App Designer and you are working on Website field on the Account entity.
    Let’s add an Event Handler for the Website field in the modern designer.

  2. Once you added an event, you’ll see a Column Dependency field which can choose to select fields. (Denoted by arrow in below screenshot)

  3. Here, I’ll select the Website field from the dropdown so that the Lock is established on the field.

  4. So now, when I look at the field Properties, the Lock will be disabled and I can’t choose to remove it explicitly from the Properties itself.


In Classic Form Editor

Here’s where you can add dependencies to Event Handlers in the Classic Form Editors (I’ll be honest, this usually goes unnoticed and I never cared to add dependency)

  1. Wherever you add Events on the field/form, look for the Dependencies tab on the window where you add the JS function.


  2. And you’ll see the fields which are selected for Dependencies so that they are not accidentally removed.

Here are some more Power Apps related posts you might want to check out –

  1. HTML Text control in Canvas Power Apps | Power Platform
  2. Configure Dataverse Search in Power Platform Admin Center | Dynamics 365
  3. Form Access Checker in new Power Apps Form Designer | Model-Driven Apps in Dynamics 365
  4. Log Canvas Power App telemetry data in Azure Application Insights | Power Apps
  5. Variables in Canvas Power Apps | Global and Context
  6. Dynamics 365 Solutions‚Äô New Experience in Power Apps, Solution Checker and more
  7. Navigate Screen automatically based on Timer in Canvas Power App | Power Platform
  8. Advanced Lookup in Model-Driven Apps | Power Platform
  9. New App Designer for Model-Driven Apps | Power Platform
  10. Primary Key of Activity type entity in a Dataverse connector in Power Automate | Quick Tip

Thank you!

Create a Power Apps Per User Plan Trial | Dataverse environment

Here’s how you can create a Power Apps trial under the Per App Plan which is of $20!
Link: https://powerapps.microsoft.com/en-us/pricing/

Under Per App Pricing, look for Try New button where you can start the trial setup process.

Setting up a new tenant

Once you use the above link to, you’ll be taken to the Setup page like any other Dynamics trials you must’ve signed-up for –

  1. Fill in an email on which you would want to receive subscription communication email.
    Then, click Next.
  2. In the next step, if the email address doesn’t exist ()-

  3. Next, under Tell us about yourself section, enter the basic details.

  4. Once you fill in these details, click Next. You’ll be asked to enter phone on which you’ll receive the OTP to authenticate

  5. Enter code and proceed.
    In case you want to change the domain, you can do so before finalizing. Else, you can directly click on Next.


    And once this is finalized, you can click on Save and it’ll be locked.
    So in case you changed, then click on Next post that.

  6. In the final step, you’ll see the below. Once the info is correct, click on Get Started and you’ll be taken to M365 Admin Portal.

License

If you check the license which is assigned in this, you’ll see the –

Creating a Dataverse Environment

Now, you can create a Power Apps Dataverse environment –

  1. Go to https://admin.powerplatform.microsoft.com/ and you can click on New.

  2. Now, you can set the name of the environment.
    Note that the default type is set to Sandbox [I’ll tell you why this will cause an issue]


  3. In case you proceed to create a Sandbox type


  4. You’ll end up having this error which needs at least 1GB space.

  5. That’s why you can go back and change the Type to Trial (Subscription-based).
    Also, notice that the Database will be created.

  6. Then, you can proceed. Also, notice that I’m also deploying sample data. Hence, Power Apps based Apps will be setup with demo data and not the Dynamics 365 Apps.

  7. Then, provisioning will start.

  8. In a few moments, the environment will be created and you can navigate to it.

  9. Select the environment and click on Open Environment.

  10. And the environment with sample apps and data will open up!

Here are some more Power Apps related posts you might want to check out –

  1. HTML Text control in Canvas Power Apps | Power Platform
  2. Configure Dataverse Search in Power Platform Admin Center | Dynamics 365
  3. Form Access Checker in new Power Apps Form Designer | Model-Driven Apps in Dynamics 365
  4. Log Canvas Power App telemetry data in Azure Application Insights | Power Apps
  5. Variables in Canvas Power Apps | Global and Context
  6. Dynamics 365 Solutions’ New Experience in Power Apps, Solution Checker and more
  7. Navigate Screen automatically based on Timer in Canvas Power App | Power Platform
  8. Advanced Lookup in Model-Driven Apps | Power Platform
  9. New App Designer for Model-Driven Apps | Power Platform
  10. Primary Key of Activity type entity in a Dataverse connector in Power Automate | Quick Tip

Thank you!

Configure Dataverse Search in Power Platform Admin Center | Dynamics 365

Relevance Search in Dynamics 365 CRM recently got renamed to “Dataverse Seach” as you might have seen some updates.

Here’s how to configure the Dataverse Seach in the new Solutions Explorer!

Scenario

Now, in case you search on the Global Search bar for a record and the table which it lies in doesn’t show up – In this case table I’m looking in is ‘Subscription’ – that means that this entity is not configured for Dataverse Search

Dataverse Search

Here are some points on the Dataverse Search –

  1. Dataverse search is enabled directly is you are opted in to 2021 Wave 2 Updates on your environment.
    Go to https://admin.powerplatform.microsoft.com/ and open the desired environment’s Features section from Settings.


    You’ll find that Dataverse Search is already ON.



  2. Now, navigate to https://make.powerapps.com/ to configure the Dataverse Search for a specific entity.
    Go to Solutions and look for the Solution which has your entity
    In this example, I’ll use the custom entity I’ve created called as ‘Subscription’

  3. In any solution which has this entity, I can click on Overview on the left.


    And then if you look at the right hand side – click on Manage Index


  4. It’ll show the entity which is not enabled for Search – But, notice that it is unchecked – means it is not enabled.



    Now, enable and save it




Check if Table is enabled for Dataverse Search

  1. Enable the Table for Search Results. Now, when you are in the Solution in the new Solution Explorer – Look for the Table. In my example, it is Subscription table.
    I’ll open the Settings of the Table.


  2. In the Settings of the Subscription table, you’ll need to expand the Advanced options.


  3. Now, scroll below and you’ll see the option for Appear in Search Results is enabled.



  4. And once this is enabled, the results will show up in Dynamics 365

Indexed Columns

Now, here’s how to understand the count of Indexed columns. Limit of 950 columns is imposed in a Dynamics 365 environment.
Refer Microsoft’s Official Post – https://docs.microsoft.com/en-us/power-platform/admin/configure-relevance-search-organization#select-tables-for-dataverse-search?WT.mc_id=DX-MVP-5003911

  1. Here’s a snippet from the above mentioned Microsoft Docs to show the count of Indexed Columns calculated towards a Dataverse Search

Hope this helped!

Here are some more Canvas Power Apps posts you might want to check –

  1. Transition effect on Gallery Items when hovered over in a Canvas Power App | [Quick Tip]
  2. Navigate Screen automatically based on Timer in Canvas Power App | Power Platform
  3. Search on multiple columns from a Dataverse table in a Canvas Power App Gallery control | Power Platform
  4. Call a Flow from Canvas Power App and get back response | Power Platform
  5. Enable Custom Code Components (PCF Controls) to be imported in a Canvas Power App | Quick Tip
  6. Retrieve Hashtags from Text in a Canvas Power App | Power Platform
  7. Rich Text Control for Canvas and Model-Driven App | Quick Tip
  8. Setting Correct Default Mode for Forms in a Canvas App | [Quick Tip]
  9. Rating Control to represent data from Dataverse in a Canvas Power App | Power Platform
  10. Clear a field value & Reset Form in a Canvas Power App [Quick Tip]
  11. Get Dynamics 365 field metadata in a Canvas App using DataSourceInfo function | Common Data Service
  12. Implement character length validation in a Canvas Power App | Power Platform

Thank you!

New App Designer for Model-Driven Apps | Power Platform

The new Model Driven App Designer experience has been enabled and has been doing the rounds for a few days now. Here’s my take on the same to demystify and bring forward a quick example of a Model-Driven App capabilities.

I’ll keep enriching this post in the future as more enhancements come to this new experience! As of now, this is in preview, so kindly keep a note of that!

Let’s review further!

Create a new Model-Driven App

Here’s how you go about creating the new Model-Driven App using the new App Designer –

  1. In your https://make.powerapps.com/ portal, create a new Solution and then go inside the Solution to create a New Model Driven App as shown below




  2. Then, select the Modern App Designer (Preview)


    And give it a suitable name.

Editing the SiteMap in the New Model App Designer

Here’s how you go about adding new Entities to the SiteMap in the new Model App Designer experience. Navigation section

  1. I can click on New Page to start adding my first Page. Out of a Dashboard and Table, I’ve chosen to add a Table.


  2. Now, if you look at the right hand-side of the page, you should be able to select what you want to add here.




    And I’ll select Account Table.



  3. I’ll also rename the Title to to Customers.


  4. Now, I look at the left hand side, my App begins to take shape and I can then also change the Group and Area names like you would do in a Site Map.

  5. I’ve also renamed the Area to Sales now.





Pages

Now, let’s see what all Components can be added to the App. Pages is where you can either add Entities directly or edit the ones which you added in the Navigation section above.

  1. Now, if you go to the Pages section, you’ll be able to expand into the navigation and choose the components yourself.

  2. Now, if you select the Account form (as selected in the step above), look on the right hand side to be able to select which all Forms you want to add to the App. If you don’t select anything, all forms will be selected by default.


  3. Now, let’s select a couple of Forms.


    And those will be added.


  4. Same goes for Views as well. I’ve added 2 Views as shown below



    Note: Ideally, the WYSIWYG Preview should show only the components I added, but it shows me everything. Perhaps, this is work in progress.


    Along with that, there are Known Limitations at this point since this is in Preview.
    https://docs.microsoft.com/en-gb/powerapps/maker/model-driven-apps/app-designer-overview?WT.mc_id=DX-MVP-5003911#known-limitations


Data

Also, if you expand data, as of now only the ones added to you app is shown. Nothing much happens here. I’ll update this area once more features are added in the near future.

Hope this post was useful!

Here are some more useful posts you might want to check –

  1. Rich Text Control for Canvas and Model-Driven App | Quick Tip
  2. Form Access Checker in new Power Apps Form Designer | Model-Driven Apps in Dynamics 365
  3. How to add Rating Values to Rating Models in D365 Field Service and PSA
  4. D365 Quick Tip: Simple & Detailed Mode in Advanced Find
  5. Language format for Whole Number field in Dynamics 365 CE
  6. Transition effect on Gallery Items when hovered over in a Canvas Power App | [Quick Tip]
  7. Filter records in a View owned by a Team you are a member of | Dynamics 365 CRM
  8. Change Booking Status colors on Schedule Board for Field Service/PSA [Quick Tip]
  9. Change the Unified Interface App Icons
  10. Custom Help Pages and Guided Tasks for Unified Interface in Dynamics 365

Thank you!

Retrieve Hashtags from Text in a Canvas Power App | Power Platform

Let’s say you want to make a collection of Hashtags used in a certain Text Input control. Here’s how you do it using the HashTags() function in Power Apps.

Let me demonstrate it quickly below!

Using HashTags() function

Now, let’s consider the below scenario where you want to collect the Hastags from a Text Input and later on use business logic on that.

  1. As an example, let me take a Description multi-line text field on the Canvas App and I’ll also take a DataTable to show the collected Hashtags in the same.
    I’ve renamed the Text Input to “Description”

  2. Now, to scan for hashtags and collect them, I’m writing the below formula on the OnChange operation of thee Text Input so that once I finish writing and move the focus away from Text Input, the Formula can scan for Hashtags and populate the collection.



  3. Now, here’s the formula I’ve used to scan the Text (String) for Hashtags present.


    Microsoft Docs Link for HashTags() formula –
    https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-hashtags?WT.mc_id=DX-MVP-5003911

    Why ClearCollect instead of Collect? – Because only using Collect will scan the field and add all the hashtags again causing redundancy.

    Why I used Collection? – I could also use this collection elsewhere instead of directly assigning the above formula to the Items of the Data Table. Hence, the preference to use ClearCollect.

  4. Now, from the Data Table perspective, I’m simply populating the Data Table with the Collection [hashtagCollection] as the Data Source and make sure you also add the Result column as well, else, the Data Table will be blank even if the Collection is being populated.

Working

Let’s see how the table will be populated as we Run the App.

  1. Now, I’ve written as Hello #PowerPlatform and moved the focus out of the Text Input, the Data Table (via Collections) is populated with the results.


  2. Again, if I add another Hashtag i.e. #PowerApps, it’ll add to the collection (Basically, erase everything and scan all over again behind the scenes)

To demonstrate this example, I’ve created a YouTube video for the same, kindly check it out!

Hope this was useful. Here are some more Power Apps / Power Platform posts you might want to check out –

  1. Rich Text Control for Canvas and Model-Driven App | Quick Tip
  2. Setting Correct Default Mode for Forms in a Canvas App | [Quick Tip]
  3. Rating Control to represent data from Dataverse in a Canvas Power App | Power Platform
  4. Clear a field value & Reset Form in a Canvas Power App [Quick Tip]
  5. Implement real-time search in Gallery of CDS records in a Canvas Power App | Power Platform
  6. Implement character length validation in a Canvas Power App | Power Platform
  7. Implementing Exit app, Logout and Confirm Exit features in a Canvas Power App
  8. Debug Published Canvas Power App with other users using Monitor | Power Platform
  9. AddColumns() function to dynamically add columns to a Data table in Canvas Power App | SharePoint List
  10. Log Canvas Power App telemetry data in Azure Application Insights | Power Apps

Thank you!!

Clear a field value & Reset Form in a Canvas Power App [Quick Tip]

One of the most useful features to provide in a Form Control in a Canvas Power App is the ability to “Clear/Reset a Form” and “Clear a Field value”.

Let’s look at how Power Apps’ existing feature can help you achieve this.

Clear Field

Let’s say Description field is a lengthy field and often times, you want to clear the entire field instead of just backspacing the entire field.

  1. Let’s say Description is a DataCardValue in a typical form. Usually Descriptions are lengthy and need to be cleared if you go wrong. So, every form field value is stored in a data card value field.

  2. On the right hand properties, look for Clear Field option from the list of Text Input properties.

  3. Notice that a X appears on the field when in focus/active. So when you make a mistake in a field, click on it to clear that field.

  4. And it get’s cleared.


    This didn’t work in Multi-Line Text Box. Not sure if it’s a bug or not supported yet. I’ll confirm and update here.

Reset Form

Fairly basic way to clear out an entire form is to use a button to do so.

  1. A suitable approach is to add a ResetForm(<FormName>) function. I’ve put a sample button that denotes a reload/reset logo which I selected from Icons.


  2. Now, let’s say I want to clear this form.

  3. The form will be cleared.

Here’s a short YouTube video I created to demonstrate this –

Hope this quick tip helps!!

Here are some more Canvas Power App posts you might want to check –

  1. Get Dynamics 365 field metadata in a Canvas App using DataSourceInfo function | Common Data Service
  2. Debug Published Canvas Power App with other users using Monitor | Power Platform
  3. Download a File from a Canvas Power App using a button | Power Platform
  4. AddColumns() function to dynamically add columns to a Data table in Canvas Power App | SharePoint List
  5. Implement real-time search in Gallery of CDS records in a Canvas Power App | Power Platform
  6. Log Canvas Power App telemetry data in Azure Application Insights | Power Apps
  7. Call HTTP Request from a Canvas Power App using Flow and get back Response | Power Automate
  8. Implement character length validation in a Canvas Power App | Power Platform
  9. Send a Power App Push Notification using Flow to open a record in Canvas App | Power Automate
  10. Count of total CDS records returned in a Canvas Power App connection [Quick Tip]

Thank you!

Debug Published Canvas Power App with other users using Monitor | Power Platform

At times, users report that they can’t seem to know what’s wrong with their published App and the behavior is said to be unexpected. At times, no direct error is thrown to them but they don’t seem to understand what’s wrong.

Here’s what we can look at and invite them to join a Remote debugging session.

Open Monitor

In your Canvas Power App, you can find Monitor (which is in Preview as I write this post), this will open a new Monitor interface.

  1. Click on the Menu as shown

  2. Alternatively, also from the list of Apps available to you by permission.


  3. Now, when you open it, you’ll be in the Debug interface. In the interface, look for this open to Play Published App

  4. It’ll open the actual App in Play mode in the new tab.
    On the new Tab, you’ll see this message to ask you if you want to Join the session.

  5. Once you click on Join, the App will open with the message on top saying that you’ve joined the debug session.

  6. Let’s say I do a simple data entry operation by select one of the records and trying to modify it.


  7. As you then perform Actions in your App, your operations will be captured in the Monitor for you to review and debug what’s wrong.

  8. Also, if there are any specific errors that occurred, they are highlighted with Red row. You can simply click it and the details will appear on the right.

  9. Error can be investigated as below

  10. You can then investigate and see what was sent and how the payload was etc. and work towards further debugging/investigating it.

Invite Others to Debug session

Also, if you want others to simply look at what’s being captured. You can invite other users to your debugging session by clicking on Invite button

Enter their Email address and they’ll show up in the list. Copy the Link from their row and pass it on to them to join the session. They will be in read only mode and can see what’s captured and look at error details.

They can only watch and not Play the App themselves or invite others. See below

Hope this helps!!

Here are some more Canvas Power App based posts you might want to check –

  1. Implement character length validation in a Canvas Power App | Power Platform
  2. Download a File from a Canvas Power App using a button | Power Platform
  3. AddColumns() function to dynamically add columns to a Data table in Canvas Power App | SharePoint List
  4. Implement real-time search in Gallery of CDS records in a Canvas Power App | Power Platform
  5. Log Canvas Power App telemetry data in Azure Application Insights | Power Apps
  6. Call HTTP Request from a Canvas Power App using Flow and get back Response | Power Automate
  7. Send a Power App Push Notification using Flow to open a record in Canvas App | Power Automate
  8. Launch URL on a Data Table Text column selection in a Canvas PowerApp | SharePoint Lists
  9. Aggregate functions in a Canvas Power App | Using on SharePoint Lists
  10. Dependent OptionSets in a Canvas Power App for 1:N related CDS entities | Power Platform

Thank you!!

Implement real-time search in Gallery of CDS records in a Canvas Power App | Power Platform

One of the most common asks is to be able to search CDS records in a Gallery control in real-time using a Text-box.

Search Box & Gallery connected to CDS

Let’s design a simple gallery that is populated with CDS records from Account entity.

  1. Take a Text Input control (Textbox) and make it look like a Search Box.

    In order to have the Search watermark, write the text to appear as water-mark, enter it in Hint text property of the Text input


  2. Take a Gallery control and select Data Source as Accounts from CDS.


    The way the above shown Gallery control is populated is by selecting a CDS Data Source which is as below –

Filter records

Finally, there’s a 1-line formula that will do the trick for you

  1. In the Items property of the CDS Gallery, I have to filter the records based on the Text of the Text Input on my form.


    Marked by green arrow Filter() function is the one which handles filtering of the data set based on the parameters demanded by the method. Here’s Microsoft Docs on the same – https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-filter-lookup

    Underlined by red Accounts is the CDS data source which I want to filter on.

    StartsWith() is a method which is used to compare the start of the string in question. In this case, the text I enter in the SearchField textbox.

    1. ‘Account Name’ is the field in the Accounts dataset to be considered on which the search parameter is dependent.
    2. Underlined by purple SearchField.Text in which SearchField is the textbox which is used to query the Name of the Account and .Text is Text value of the string which will be considered.

    So at all times, whenever there’s a change in the Textbox value, the Items of the Gallery control are supposed to be updated with the filtered records.

Working

Now, when you use the App, here’s what it will behave like. As you type, the records will filter with a certain delay (depending on how large your dataset is)

Hope this was useful!!

Here are some more Canvas Power Apps posts you might want to check –

  1. https://d365demystified.com/2020/08/31/log-canvas-power-app-telemetry-data-in-azure-application-insights-power-apps/
  2. https://d365demystified.com/2020/08/25/call-http-request-from-a-canvas-power-app-using-flow-and-get-back-response-power-automate/
  3. https://d365demystified.com/2020/08/16/send-a-power-app-push-notification-using-flow-to-open-a-record-in-canvas-app-power-automate/
  4. https://d365demystified.com/2020/08/07/recover-deleted-d365-powerapp-environment-using-powershell/
  5. https://d365demystified.com/2020/08/07/recover-deleted-d365-powerapp-environment-using-powershell/

Thanks!