<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Neeta Jadhav</title>
    <description>The latest articles on Forem by Neeta Jadhav (@neeta_jadhav).</description>
    <link>https://forem.com/neeta_jadhav</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2791186%2F9469895c-3fa4-4a60-b0a2-f98c8eacb348.png</url>
      <title>Forem: Neeta Jadhav</title>
      <link>https://forem.com/neeta_jadhav</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/neeta_jadhav"/>
    <language>en</language>
    <item>
      <title>Stop Designing Screens First: Start with Use Case, Tables &amp; Layout</title>
      <dc:creator>Neeta Jadhav</dc:creator>
      <pubDate>Fri, 20 Feb 2026 08:00:27 +0000</pubDate>
      <link>https://forem.com/neeta_jadhav/stop-designing-screens-first-start-with-use-case-tables-layout-1hbb</link>
      <guid>https://forem.com/neeta_jadhav/stop-designing-screens-first-start-with-use-case-tables-layout-1hbb</guid>
      <description>&lt;p&gt;In my previous post, I explained why a container-first approach is the best way to avoid broken layouts and endless rework.&lt;br&gt;
(Link:&lt;a href="https://dev.to/neeta_jadhav/building-responsive-canvas-apps-a-container-first-approach-5g4j"&gt;Why Manual Alignment is Killing Your Power Apps Productivity&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Now it’s time to use that approach in a real example.&lt;/p&gt;

&lt;p&gt;In this series, we’ll build a real Inventory Management Canvas App with Dataverse — step by step.&lt;/p&gt;

&lt;p&gt;By the end, you’ll have a real asset:&lt;br&gt;
✅ a reusable responsive app shell&lt;br&gt;
✅ a clean Dataverse data model&lt;br&gt;
✅ working modules (Products → Transactions → Reports)&lt;/p&gt;

&lt;p&gt;We’ll build it like a solution architect:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start with a clear use case&lt;/li&gt;
&lt;li&gt;Create only the minimum Dataverse tables&lt;/li&gt;
&lt;li&gt;Build a reusable layout shell (side nav, header, content, footer)&lt;/li&gt;
&lt;li&gt;Grow feature-by-feature without breaking the UI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvruyd3gkdb068iay8bbw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvruyd3gkdb068iay8bbw.png" alt="Series Roadmap" width="800" height="578"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Case: Inventory Management App&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Problem&lt;/em&gt;&lt;br&gt;
In many teams, inventory is maintained using paper registers or multiple versions of spreadsheets. Over time, it becomes difficult to know the latest stock, track stock movement, or avoid duplicate product entries.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Solution&lt;/em&gt;&lt;br&gt;
Build a Power Apps Canvas App (with Dataverse) to manage products and stock movements in one place.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dataverse setup&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I started with the Dataverse data model to keep the app stable as it grows. With tables and columns defined upfront, the UI (forms, galleries, filters) won’t keep changing later.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dataverse tables created
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Products (master table)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Purpose:&lt;/strong&gt; Store product master data for the inventory system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Columns&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Product Name&lt;/strong&gt; &lt;em&gt;(Required)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SKU&lt;/strong&gt; &lt;em&gt;(Required, Unique)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Category&lt;/strong&gt; &lt;em&gt;(Lookup → Categories)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unit&lt;/strong&gt; &lt;em&gt;(Required: pcs/box/kg/liter)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reorder Level&lt;/strong&gt; &lt;em&gt;(Default set via business rule: 0)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Is Active&lt;/strong&gt; &lt;em&gt;(Default: Yes)&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Data quality&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Alternate key:&lt;/strong&gt; SKU &lt;em&gt;(prevents duplicate products)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Business rules (Reorder Level)&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Reorder Level can’t be negative&lt;/li&gt;
&lt;li&gt;If Reorder Level is blank, set it to &lt;strong&gt;0&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu7vyn58kbhtzo6hxsy58.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu7vyn58kbhtzo6hxsy58.png" alt="Products Table" width="800" height="315"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9kla35f2isia3qmocwuh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9kla35f2isia3qmocwuh.png" alt="Alternate key" width="800" height="117"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fauc2a36g62bebeyei2r0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fauc2a36g62bebeyei2r0.png" alt="Business rules" width="800" height="162"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmi3we1jiu19d1bvx88e6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmi3we1jiu19d1bvx88e6.png" alt="Business rule_Default0" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhq1xo3euzdsnjlp4swvl.png" alt="Business rule_non negative" width="800" height="454"&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Categories (support table)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Purpose:&lt;/strong&gt; Keep product grouping clean and consistent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Columns&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Category Name&lt;/strong&gt; &lt;em&gt;(Required)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Is Active&lt;/strong&gt; &lt;em&gt;(Default: Yes)&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Data quality&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Alternate key:&lt;/strong&gt; Category Name &lt;em&gt;(prevents duplicate categories)&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2f86gpjr8kg463a29ojk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2f86gpjr8kg463a29ojk.png" alt="Categories table" width="800" height="403"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyqlleqs2ciau1qdnrau7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyqlleqs2ciau1qdnrau7.png" alt="Alternate key" width="800" height="90"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Quick summary
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Products&lt;/strong&gt; stores the product master (SKU, unit, reorder level) with validation for clean data.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Categories&lt;/strong&gt; keeps grouping consistent and avoids duplicates.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Create the Canvas App (from the Solution)
&lt;/h2&gt;

&lt;p&gt;Now that the Dataverse tables are ready, the next step is to create the Canvas app inside the same solution.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;Solutions&lt;/strong&gt; → open your solution (Inventory Management)&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;+ New&lt;/strong&gt; → select &lt;strong&gt;App&lt;/strong&gt; → &lt;strong&gt;Canvas app&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Give it a name like: &lt;strong&gt;Inventory Management App&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;Tablet layout&lt;/strong&gt; (recommended for business apps)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This keeps everything (tables + app) in one solution, so it’s easier to manage and move between environments.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpdduhvtomquag35m2err.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpdduhvtomquag35m2err.png" alt="Canvas App creation" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  App Settings (Make it Responsive)
&lt;/h2&gt;

&lt;p&gt;Before adding any UI, turn on the responsive settings. This is important because once controls are placed, changing layout later can cause rework.&lt;/p&gt;

&lt;p&gt;Go to &lt;strong&gt;Settings → Display&lt;/strong&gt; and set:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;App layout:&lt;/strong&gt; Responsive
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lock aspect ratio:&lt;/strong&gt; Off
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lock orientation:&lt;/strong&gt; Off
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg5oa8qpao5pop88vcoxt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg5oa8qpao5pop88vcoxt.png" alt="Responsive settings" width="787" height="508"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Build the Layout Shell (Container-first)
&lt;/h2&gt;

&lt;p&gt;Instead of starting with screens and placing controls manually, we build a reusable shell first.&lt;/p&gt;

&lt;p&gt;This shell will stay the same for every module (Products / Transactions / Reports).&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Add the Root container
&lt;/h3&gt;

&lt;p&gt;Insert → &lt;strong&gt;Layout → Container (Vertical)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Rename it to: &lt;strong&gt;RootVerticalContainer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Set:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Width:&lt;/strong&gt; &lt;code&gt;Parent.Width&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Height:&lt;/strong&gt; &lt;code&gt;Parent.Height&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Padding:&lt;/strong&gt; &lt;code&gt;0&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gap:&lt;/strong&gt; &lt;code&gt;0&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This root container controls the full screen layout.&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 2: Split into Header, Body, Footer
&lt;/h3&gt;

&lt;p&gt;Inside &lt;code&gt;RootVerticalContainer&lt;/code&gt;, add 3 containers:&lt;/p&gt;

&lt;h4&gt;
  
  
  HeaderContainer (Horizontal)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Height:&lt;/strong&gt; &lt;code&gt;60&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexible height:&lt;/strong&gt; Off&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Padding:&lt;/strong&gt; &lt;code&gt;8&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  BodyContainer (Horizontal)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flexible height:&lt;/strong&gt; On ✅
(Body automatically takes remaining space)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  FooterContainer (Horizontal)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Height:&lt;/strong&gt; &lt;code&gt;40&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexible height:&lt;/strong&gt; Off&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Padding:&lt;/strong&gt; &lt;code&gt;8&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Step 3: Split Body into Navbar + Content
&lt;/h3&gt;

&lt;p&gt;Inside &lt;code&gt;BodyContainer&lt;/code&gt;, add two containers:&lt;/p&gt;

&lt;h4&gt;
  
  
  NavbarContainer (Vertical)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Width:&lt;/strong&gt; &lt;code&gt;240&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexible width:&lt;/strong&gt; Off&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  ContentContainer (Vertical)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flexible width:&lt;/strong&gt; On ✅&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Padding:&lt;/strong&gt; &lt;code&gt;16&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At this point, your app has a clean responsive structure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Header (top)&lt;/li&gt;
&lt;li&gt;Side nav + Content (middle)&lt;/li&gt;
&lt;li&gt;Footer (bottom)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And you can now build modules without breaking layout.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjdrlfgqpk210tpfuvsxa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjdrlfgqpk210tpfuvsxa.png" alt="The final layout" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Quick Summary (Part 1)
&lt;/h2&gt;

&lt;p&gt;✅ Use case defined&lt;br&gt;
✅ Dataverse tables created(Products,Categories)&lt;br&gt;
✅ Responsive canvas app created&lt;br&gt;
✅ Reusable layout shell ready&lt;/p&gt;




&lt;p&gt;Next in Part 2, we’ll build a reusable Navigation Bar component with a clean side menu (Dashboard, Products, Transactions, Reports) using icons and labels, plus an active highlight state. Then we’ll wire it to switch the content area smoothly so the UI stays responsive and never breaks.&lt;/p&gt;

</description>
      <category>powerapps</category>
      <category>powerplatform</category>
      <category>responsiveapps</category>
    </item>
    <item>
      <title>Why Manual Alignment is Killing Your Power Apps Productivity.</title>
      <dc:creator>Neeta Jadhav</dc:creator>
      <pubDate>Fri, 13 Feb 2026 16:16:48 +0000</pubDate>
      <link>https://forem.com/neeta_jadhav/building-responsive-canvas-apps-a-container-first-approach-5g4j</link>
      <guid>https://forem.com/neeta_jadhav/building-responsive-canvas-apps-a-container-first-approach-5g4j</guid>
      <description>&lt;p&gt;If you ever built a Canvas app screen and later thought…&lt;br&gt;
“Why is everything overlapping?”&lt;br&gt;
“Why did the spacing break?”&lt;br&gt;
“Why am I moving the same controls again and again?”&lt;/p&gt;

&lt;p&gt;I’ve been there.&lt;/p&gt;

&lt;p&gt;I used to start building screens fast — placing controls one by one — and only later I realized the real problem: layout.&lt;br&gt;
That’s when I started using a container-first approach.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Purpose:&lt;/strong&gt; Fix broken layouts (overlaps, misalignment, rework) by designing with containers first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is a container?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A Power Apps container is like a box that holds other controls (labels, forms, galleries, even other containers) so you can manage them as one unit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why containers help&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;No more “pixel pushing”&lt;br&gt;
Add a new field? The layout automatically shifts instead of you moving 20 controls by hand.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Works on different screen sizes&lt;br&gt;
Containers can stretch/shrink so your app looks good on desktop, tablet, and mobile.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Handles crowded screens&lt;br&gt;
Too many controls? Set the container to scroll and it adds a scrollbar automatically.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Keeps spacing consistent&lt;br&gt;
Containers have Padding (space inside) and Gap (space between items), so everything looks clean without manual spacing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can still layer things safely&lt;br&gt;
Use an auto layout container for the structure, and put a manual container inside it for layered elements (like a banner with text). That way you get both responsiveness and design freedom.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Types of Containers&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Container types&lt;/th&gt;
&lt;th&gt;Best for&lt;/th&gt;
&lt;th&gt;Key benefit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Auto layout&lt;/td&gt;
&lt;td&gt;Horizontal, Vertical, Grid&lt;/td&gt;
&lt;td&gt;Forms, headers, button bars, dashboards/cards&lt;/td&gt;
&lt;td&gt;Responsive-friendly: alignment and spacing adjust automatically&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manual layout&lt;/td&gt;
&lt;td&gt;Container (plain)&lt;/td&gt;
&lt;td&gt;Banners, layered cards, overlays/modals&lt;/td&gt;
&lt;td&gt;Full control over exact placement and layering&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Rule of thumb&lt;/strong&gt;: Use Auto layout for structure and responsiveness. Use Manual layout when you need free positioning.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57pd4w1zp5ua11ga6c0v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57pd4w1zp5ua11ga6c0v.png" alt="Image: Visual comparison of the four container types" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now that you know the container types, here are the properties that make them powerful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Justify&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Horizontal container → left/right distribution&lt;/li&gt;
&lt;li&gt;Vertical container → top/bottom distribution&lt;/li&gt;
&lt;li&gt;Use it when: You want to control how items are spaced.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwwt1t58ae268k50g0i15.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwwt1t58ae268k50g0i15.png" alt="Image: Justify in Horizontal vs Vertical containers" width="800" height="294"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Overflow&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vertical overflow → scroll up/down&lt;/li&gt;
&lt;li&gt;Horizontal overflow → scroll left/right&lt;/li&gt;
&lt;li&gt;Use it when: You have long content like filter panels, long forms, or lists and you want the rest of the screen to stay fixed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr0nqynksdqqixdtcxk75.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr0nqynksdqqixdtcxk75.png" alt="Image: Overflow (vertical vs horizontal)" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wrap (Horizontal container)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wrap = Off → everything stays on one row.&lt;/li&gt;
&lt;li&gt;Wrap = On → items move to a new line automatically when space runs out.&lt;/li&gt;
&lt;li&gt;Use it when: You’re showing chips/tags/buttons and want them to re-flow nicely on smaller screens instead of forcing horizontal scrolling.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj0iekqpnvela8bawb832.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj0iekqpnvela8bawb832.png" alt="Image: Wrap on a Horizontal container" width="800" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Grid (Rows, Columns, Gap)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rows → The number of horizontal layers the grid has (top to bottom).&lt;/li&gt;
&lt;li&gt;Columns → The number of vertical sections the grid has (left to right).&lt;/li&gt;
&lt;li&gt;Gap → The spacing between grid items.&lt;/li&gt;
&lt;li&gt;Use it when: You want a dashboard/tile layout where cards align neatly in rows and columns (instead of manually positioning everything).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbyrk76c13hrkstbf1fdk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbyrk76c13hrkstbf1fdk.png" alt="Image: Grid settings (Gap/Rows/Columns)" width="800" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That’s the foundation. In upcoming posts, I’ll use these container patterns to build a fully responsive Canvas app step-by-step—starting with a simple screen layout, then adding real components like headers, forms, galleries, and responsive behavior for different screen sizes.&lt;/p&gt;

&lt;p&gt;Note: This post focuses on a few key properties to get you started (Justify, Overflow, Wrap, Grid basics). There are more that matter in real apps—like Padding, Gap, Align, and Fill Portions—which I’ll cover with hands-on examples in upcoming posts.&lt;/p&gt;

</description>
      <category>powerapps</category>
      <category>powerplatform</category>
      <category>responsiveapps</category>
    </item>
  </channel>
</rss>
