Tabs list for Power Apps forms

If you’ve ever struggled with forms that have too many fields and feel overwhelming for users, this Power Apps modern tabbed interface approach might just be the solution you’re looking for. Let’s dive into the steps I took to make it happen, and there’s even an associated video at the bottom!

Power Apps Modern Tabbed Form Step by Step

Step 1: Adding the Tab List Control

To get started in Power Apps, open your app and go to a form already on a screen. From the Insert menu, select the Tab List control—it’s simply called “Tab List” in the menu. This is the foundation of our tabbed interface, and it’s so much simpler than the old ways of creating tabs with buttons or galleries.

Step 2: Setting Up Tab Sections

Decide what your tabs will be named. For this demo, I chose three: “Purchase Request Info,” “Vendor,” and “Details.” Go to the Items property of the Tab List control and enter the names as a list, like this:

["PR Info", "Vendor", "Details"]

This instantly created my tabs—super easy and a huge time-saver compared to manually building tab-like buttons!

Step 3: Determining the Selected Tab

To figure out which tab the user is on, use this expression: TabList1.Selected.Value. To test it out, you can add a temporary text box to the canvas and set its Text property to TabList1.Selected.Value. This lets you see the name of the selected tab in real-time as you click through them. It’s a great way to confirm everything’s working as expected.

Step 4: Controlling Card Visibility

Now comes the fun part—making the right fields show up on the right tabs. Select a card in your form (those little containers for each field), go to its Visible property, and add a formula to control when it appears. For example, for a card that should only show on the “Purchase Request Info” tab, I entered:

TabList1.Selected.Value = "PR Info"

This means the card is visible only when that tab is active.

Step 5: Applying Visibility to All Cards

Repeat Step 4 for every card in the form, tweaking the formula based on which tab each card belonged to. For instance, vendor-related fields got TabList1.Selected.Value = “Vendor”, and details like justification and budget code got TabList1.Selected.Value = “Details”. To speed things up, I held down the Ctrl key and clicked multiple cards in the left pane to update their visibility settings all at once.

Step 6: Setting a Default Tab on the Power Apps Modern Tabbed Form

You most likely want users to start on your first tab every time they open the form. To make this happen, create a variable.  In the OnVisible property of the screen, add this formula, using the name of your first tab:

UpdateContext( { varFormTab: {Value:"PR Info"} } )

Then, select the tab control and choose the property called DefaultSelectedItems, and type the name of the variable there:

This ensures the form always opens on that tab, giving users a consistent starting point.

Step 7: Managing Always-Visible Fields

Some fields, like the “Title,” you may want to show on every tab. For those, simply set their Visible property to true without tying them to a specific tab. This way, they’re always there, no matter which tab the user is viewing—perfect for key info that needs to stay front and center.

Step 8: Ensuring Required Fields Are Completed

One challenge with tabbed forms is making sure users fill out all required fields, especially when they’re spread across tabs. Here’s how I tackled it:

  • Marking Fields as Required: I set the Required property on the card to true for any field that had to be filled out. This automatically adds a little asterisk next to it, so users know it’s mandatory.
  • Conditional Submit Button: To guide users through the process, I made the submit button visible or enabled only when they reached the “Details” tab (the last one). I set its Visible property to:
TabList1.Selected.Value = "Details"

This encourages them to complete all tabs before submitting.

  • Form Validity Check: For a smoother experience, I tied the submit button’s DisplayMode to the form’s validity. I used:
If(frmPurchase.Valid, DisplayMode.Edit, DisplayMode.Disabled)

This disables the button unless all required fields are filled in, no matter which tab they’re on.

Step 9: Enhancing with Error Messages

You most likely don’t want users guessing why the submit button is disabled, so add a text box near it with a custom error message. Set its Text property to:

"Required fields have not been filled out"

Then, I styled it with red text and bold font for emphasis. To control when it shows, I set its Visible property to:

!PurchaseForm.Valid && TabList1.Selected.Value = "Details"

This makes the message appear only on the last tab when required fields are missing—clear feedback right where it’s needed.

Final Touches

To wrap things up, test the form thoroughly. Click through each tab, filled out fields, and made sure the visibility logic works perfectly.


Why I Love the Power Apps Modern Tab Control

Building this form was a breeze compared to older methods like creating separate screens or faking tabs with buttons. The modern tab control cuts down on steps, saves time, and makes the form so much easier for users to navigate. Whether you’re dealing with purchase requests, vendor info, or detailed data entry, this approach keeps everything tidy and intuitive.

I hope this step-by-step guide inspires you to try it out in your own Power Apps projects. Let me know how it goes—or if you’ve got any creative twists to share! Happy building! Here is the associated video, and thanks to the Power Hour friends who were watching me demonstrate it live and offered helpful suggestions and various ways that some of these things can be accomplished!

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *