cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Helper V
Helper V

Can I do this with forms?

I have an app that allows a user to come in and choose a service and based on the service chosen, the user then goes and fills in the appropriate forms. My issue is that we have north of 30 forms (all from different SharePoint lists) and right now, each one is on a separate screen. To complicate things further, these forms all have different questions. Below is a mocked up scenario to illustrate what I'd like the user experience to be.

 

What I'd like to see: The user chooses an option and is taken to a single screen that has the appropriate forms. The height/size of the screen is dynamic and renders each form 1 after another. 

 

Can this be done? If so, how? If not, are there other designs I should take into consideration?

 

formissue.png

13 REPLIES 13

Yes, I would recommend that you put this on a scrolling screen.

https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/add-scrolling-screen

 

I have attached an example of this.

 

Updates, based on what we already discussed.

  • Each Form is placed in a DataCard of the scrolling screen canvas
  • Each Canvas DataCard
    • Visible = Form visibility Boolean
    • Height = The 'embedded' Form's Height + locBuffer
  • Each Form's properties
    • Visible = Form visibility Boolean
    • Height = Last Data Card in form's Y + Height + locBuffer

 

This works pretty smoothly in my testing. The main catch is ensuring the Form's height is dynamic, and prevents scrolling on the Form itself. Then the User would only experience scrolling on the app screen itself. NOTE: You can and should copy and paste your existing forms into the Canvas data cards.

You will want to figure out how to also add controls to SubmitForm, and whatnot, but I'll leave that up to you.

View solution in original post

@kriggo15  

Just wondering if you have noticed any performance issues with that many Forms inside one app? I'm curious because I'm thinking of doing something similar but most of my users have good/intermittent connectivity which could impact performance with an app built like this.

Hey @Eelman, no user performance issues. Time to first screen is 5-7 seconds and I'm careful to only load the necessary sources on the first screen. The only place I've noticed any degradation is during development. Auto-saving takes quite a bit of time and will occasionally mess up formulas as I'm typing, then again my app has 57 screens in it, 35 of which are forms. Yes, 57 is way excessive, but this thing grew organically and got unwieldy.  That's how I came to this solution.

 

Using the information in this thread, I'll be able to eliminate over 30 screens and expect development performance to be back where it once was.

@kriggo15 

Thank you for the feedback, that's great intel.

 

One of my not-to-distant-future projects will be around 15-20 forms. I'm currently looking at options but am seriously considering using apps to open other apps by using the Launch function.

 

I've been working on taking variables across with the launch of another app thereby telling the newly opened app which app the user came from. A system of apps instead of screens, if you like. I'm hoping it'll be easier to manage due to the modularity of the design, not sure.

Helpful resources

Announcements
secondImage

Experience what’s next for Power Apps

Join us for an in-depth look at the new Power Apps features and capabilities at the free Microsoft Business Applications Launch Event.

Power Apps Community Call

Power Apps Community Call: February

Did you miss the call? Check out the Power Apps Community Call here.

New Power Super Users

Congratulations!

We are excited to announce the Power Apps Super Users!

New Badges

New Solution Badges!

Check out our new profile badges recognizing authored solutions!

Top Kudoed Authors
Users online (52,646)