Power Apps - Creating a Two-Level Menu Component: Comprehensive Guide
Image Source: Shutterstock.com
Power Apps
Sep 18, 2023 1:00 PM

Power Apps - Creating a Two-Level Menu Component: Comprehensive Guide

by HubSite 365 about Craig White

Talks about #lowcode, #formula1, #powerplatform, #empoweringothers, and #digitaldisruption

Citizen DeveloperPower AppsLearning Selection

Boost performance with this simple guide to building a two-level menu in Microsoft canvas apps using a single gallery, no nested galleries required

Author Craig White shares a method for building a two-level menu in canvas apps using a single gallery to improve performance. He warns about the potential performance issues that could arise when nested galleries are used, particularly in large-scale applications.

He illustrates the method using a Star Wars-themed app. The data that feeds the menu component is organized in specific ways to drive gallery behaviour. The data in the parent categories—referenced as MasterNav—let's us locate specific child entries. Parent entries have MasterNavID=1, and child entries have MasterNavID=0.

White further explains how to build the menu component, starting by creating a new app within a solution. It's followed by setting attributes like component width and height and data source for the gallery.

  • Once the basic structure is laid out, Craig shares ways to tweak the menu's appearance and function.
  • He explains how to designate navigation rules & set a variable when a menu option is selected.
  • Visual tweaks, including indentation for child items and Colour & FontWeight choices, are made to enhance user experience.
  • While setting up the filtering logic, he brings into play the variable and MasterNav column.

A finished component should look like what he shows in the example, he states. He wraps up by providing links to his GitHub and the Power Apps Community App Samples for readers to access an unmanaged solution of the component build. White also encourages readers to share their personal tips for building menus in canvas apps.

Deep Dive - Simplifying Canvas App Menus

White's method offers a clever solution to harness the potential of large-scale applications. By opting for a single gallery rather than nested ones, we can prevent major performance snags while developing intricate menu designs. The single gallery setup, facilitated by the strategic arrangement of parent-child data, demonstrates the app’s efficiency in displaying large data sets. White's walkthrough serves as a good reference, whether you’re developing a small-scaled or large-scaled app. His contributions to the community through links to his GitHub and Power Apps Community Samples further provide helpful resources for developers at various experience levels.


Read the full article Building a Two-Level Menu Component

Learn about Building a Two-Level Menu Component

This blog post discusses building an efficient two-level menu in canvas apps using a single gallery to optimize performance. The author emphasizes the significance of data and outlines how to structure it to properly feed the menu component. The example in the post uses Star Wars-related data, making the subject matter more engaging.

The author begins with a scenario where hosting a large app with several screens, demanding optimal performance, gives rise to the necessity of a two-level menu built with a solitary gallery. The author draws attention to often overlooked concerns regarding the performance impact of using nested galleries.

  • MasterNav: This column is for parent reference, helping establish which child entry is associated to which parent category.
  • MasterNavID: This column is set to 1 for parent entries and 0 for child entries.
  • SubNav: This column is for child entry options where required.
  • SubNavID: This is a unique ID for each entry to sort the collection in a specific order.
  • NavScreen: This column determines what screen will be displayed when the menu option is clicked.
  • Icon: This column is reserved for icons, only utilized for parent options in this example.

The author lays down the reasoning for each column in their data structure, focusing on controlling specific gallery behavior through integer values. The outcome is an array of parent rows with their MasterNavID of 1 and specific child entries.

This blog post constitutes a useful resource for developers seeking to optimize the efficiency of their app designs, especially regarding menu structure. To extract more value from this content, readers are recommended to apply these methods in their own application development practices.


More links on about Building a Two-Level Menu Component

2 level Navigation Menu Component
Mar 1, 2021 — This video is a step-by-step walkthrough of building a responsive PowerApps Navigation Menu Component / Left Navigation component / Menu Bar ...
Multilevel Menu Design Best Practices
A multilevel navigation menu should organize information by increasing levels of granularity. You want to display the broadest categories first and use submenus ...
How to create a multilevel dropdown menu in React
Aug 3, 2022 — Multilevel menus are designed to reveal the deeply nested navigations when we click or hover over the submenu items, as shown in the GIF above.
Create Reusable Multi-Level Navigation Component Menu ...
Feb 13, 2023 — How to create a reusable multi-level vertical navigation menu component within the Power Apps Canvas App with only a gallery and a button.
Power Apps Navigation Menu Component
Mar 14, 2021 — Don't repeat yourself! In this article I will show you how to make a Power Apps navigation menu component with the same style as MS Teams.
Building a reusable menu component
Jul 14, 2020 — Now we are going to create two components, one that is going to act as a container for menu items on each subtree level ... Building menu item ...
PowerApps Horizontal Navigation Menu Component With ...
May 24, 2023 — In this article, we will learn the step-by-step implementation for developing horizontal menus with submenu options in canvas PowerApps. We will ...
Building Accessible Menu Systems
Nov 23, 2017 — Imagine the menu system for a desktop application. The top-level link should be usable as a link, meaning it does not behave like a menu button.


Microsoft expert guidance, Microsoft specialist advice, Microsoft professional recommendations, Expert in Microsoft, Microsoft technical expert