Get started with Dataverse Forms

One of the great values of using Dataverse Model-driven apps is the ability to use the out-of-the-box forms. These forms supply the user interface to the tables and data within our app and can be customized to meet requirements without having to learn code or incur technical debt. The out-of-the-box forms can be added and customized as part of a solution and if called for new ones created. In this post, we will walk through adding an existing form to a solution; customizing the form and creating a new form.

There are four types of forms in Dataverse:

  • Main is the default Model-driven app user experience when viewing and editing data. In the sample image below, we see the Main form for the Account table.
Main form
  • Quick Create is a simplified version of the Main form and is used for in-context record creation without having to switch between table forms. In the sample image below, we see the Quick Create form for the Account table supplied in-context while in the Contact table.
Quick Create form
  • Quick View forms are embedded into a Main form and show related read-only information on the record being viewed. In the sample image below, we see the Quick View Account form while in the main Sales table form.
Quick View form
  • Card forms are light-weight forms that are used in views for mobile experiences. In the sample image below, we see the Account Card in a mobile device experience.
Card form

Adding an existing form 

Adding an existing form to an existing table is relatively simple. From your Power Apps solution, expand Tables, select your target table and then click Add existing

Add existing form

Select Forms, select your target form and then click Add

Select existing form

Our existing form is now added to the table forms within our solution. 

Selected form

Update an existing form 

After adding an existing form, you can customize it through the Edit option in the Commands menu. 

Edit existing form

The form opens and you can add Components (UI elements), Table columns (fields), Form libraries (code components) and Business rules (data driven actions). 

Form customizations

Add a column is a simple as clicking the target field and then rearranging it on the form. In the example images below, I am adding the “Account Health” column to the form and then position it as I see fit. 

Add column to form
Updated form

There are quite a few Components worth exploring and adding as needed to your forms. The image below shows the out-of-the-box components. I like to use the 1-column section and 3-column tab to group like content and to split out subject matter on larger forms. For related tables I like to use the Quick view control to display relevant information from the “parent” to the “child” record. 

Components that can be added

Form libraries and Business rules are too complex of a subject to explore in this blog post but are worth learning more about if you have the need. 

Create a new form 

Add a new form is a simple as clicking New form, select your form type and then design as desired. 

New form

When you create a new Main form, it will use the existing Main form for a starting point. In the sample image below, I have created a new Main form, customized to it only show address information. 

Custom form

You can switch between forms by clicking the drop down menu next to the table name. 

Form switcher

As a non-developer I can’t say enough good things about Dataverse Model-driven apps. The platform allows me to focus on understanding business problems and solve for them without having to put the tool in front of the problem. Knowing how to add, customize and create new forms is part of the Model-driven app experience that adds tremendous value with low investment of time and no technical debit. 

Thanks for reading! 

NY 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s