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

Issue with disabling a button connected to two forms.

Hey,

 

I am running into an issue where I have two forms on a powerapps screen and one button to submit the form. I have the button set up to be disabled if two boxes in each form are empty or blank, but once I test the app and fill out the first form it allows me to submit the form without the second form being filled in. it is not until after I have filled in the second form and cleared one of the required fields that the button works as intended and doesn't let me click it. Any help with this issue is appreciated. Here's the code for disabling the button:

 

If(And(Not(IsBlank(DataCardValue36.Text)), (Not(IsBlank(DataCardValue2.Text))), Not(IsEmpty(DataCardValue67.SelectedItems)), Not(IsEmpty(DataCardValue68.SelectedItems))), DisplayMode.Edit, DisplayMode.Disabled)

 

It's not the cleanest code but it should have worked. also here's the code for the OnSelect of the button if it helps:

 

Patch('Test list',Defaults('Test list'),Form1.Updates,Form2.Updates);Navigate('Submittal Screen',Fade)

1 ACCEPTED SOLUTION

Accepted Solutions
RandyHayes
Super User
Super User

@CorruptZeus 

First, your splitting of a form and using the Patch function negates the purpose and features of your forms.

I would suggest splitting the forms properly so that you don't break the form features.  You can view this video for details on doing so.

 

Primary reason for the above is...you have a Navigate immediately after your Patch...how do you know that it performed the data operation successfully?  When you use your form properly, you would put your navigate function in your OnSuccess action of your form.

 

Next, change your Disabled formula to the following:

If(
    !IsBlank(DataCardValue36.Text) &&
    !IsBlank(DataCardValue2.Text) &&
    !IsBlank(DataCardValue67.Selected.<Value|columnName>) &&
    !IsBlank(DataCardValue68.Selected.<Value|columnName>), 
    DisplayMode.Edit, 
DisplayMode.Disabled)

 

IsEmpty is not going to return what you think on your SelectedItems property checking.  Simply check the Selected property to be blank or not of the control.  Just replace the <Value|columnName> with the valid column name of your Selected record schema.

 

I hope this is helpful for you.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

View solution in original post

6 REPLIES 6
RandyHayes
Super User
Super User

@CorruptZeus 

First, your splitting of a form and using the Patch function negates the purpose and features of your forms.

I would suggest splitting the forms properly so that you don't break the form features.  You can view this video for details on doing so.

 

Primary reason for the above is...you have a Navigate immediately after your Patch...how do you know that it performed the data operation successfully?  When you use your form properly, you would put your navigate function in your OnSuccess action of your form.

 

Next, change your Disabled formula to the following:

If(
    !IsBlank(DataCardValue36.Text) &&
    !IsBlank(DataCardValue2.Text) &&
    !IsBlank(DataCardValue67.Selected.<Value|columnName>) &&
    !IsBlank(DataCardValue68.Selected.<Value|columnName>), 
    DisplayMode.Edit, 
DisplayMode.Disabled)

 

IsEmpty is not going to return what you think on your SelectedItems property checking.  Simply check the Selected property to be blank or not of the control.  Just replace the <Value|columnName> with the valid column name of your Selected record schema.

 

I hope this is helpful for you.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Hey,

 

Thanks for the help your formula worked. I'm confused towards the first part though. I only split the form because the text boxes and drop downs didn't line up as neatly as I would have liked, and I couldn't adjust the heights of some without adjusting the heights of others so I split it so I could align the text boxes and drop downs better. What features and purposes am I breaking by splitting the form this way? I skimmed through the video you linked and that process of splitting the form seems more complicated than what I need for this forms purpose.

RandyHayes
Super User
Super User

@CorruptZeus 

You are losing all of the features of the form with the patch!  The ONLY value that the form is providing if you use the patch on it is as a way to display controls on a screen. 

You will not be able to utilize:

- the OnSuccess action

- the OnFailure action

- the Unsaved property

- the Valid property

- the Error property

- the LastSubmit property

These are all the highly important features that a form brings to your app and saves you tremendous amounts of time in building your app.

 

So...Forms!! Yes!! Use them as they are the most powerful part of PowerApps.

 

Once you get a little more familiar with PowerApps, splitting the form properly like in the video is not complex but relatively simple.

 

Also keep in mind (since your struggle was with formatting) that you can use a form for all of its features (because they are so helpful and powerful) and not use the form interface (which is ugly and a pain to make "pretty")

You kind of are going the opposite way - you're throwing out the form features for the purpose of making the form look better.

 

If you want to dig deeper into the concepts of forms and how to use them more effectively, then take a look over this video on Forms Plus - PowerApps EditForms - pretty much everything you wanted to know and a whole lot more you never knew ....

Don't be afraid of the duration of that video!  It is essentially free training on forms.  It is not a "blow-by" type of video that just shows one thing and done.  It is comprehensive.  There is a table of contents on the video (in the description) so you can skip around and also refer back as needed.  Look at it like a video reference book to keep on your shelf for forms.

Of interest for forms will also be the part 3 of the video where the form is used for its features but not for its interface.

 

Anyway, I hope it is helpful for you.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Yea, I'm very new to PowerApps and PowerAutomate and all of this Microsoft stuff. I ended up just following along with the video and creating a new screen with the unsplit form. The nice thing is I can keep the combined form on a screen that won't be accessible to the users so I can keep the design I have, as well as keeping the same submit button with the same formula and it will just submit the combined form now instead of patching. I have one question though. is it possible to just use a button instead of a gallery or something similar to set up the form? I have a home screen that will allow you to select between a few forms, and I would like the button that brings you to this split form that created this whole mess, and I was wondering if I can just use this button to set up the glbcurrentrecord and editform. I am not running into any issues so far, but I'm not sure if this would cause any issues down the road. 

RandyHayes
Super User
Super User

@CorruptZeus 

Yes, you can certainly have your form show any record you want.  A gallery is just sort of the "standard" way people want to select a record and then edit it, but you can force the Item record of the form to be whatever record you want.  You can do that with buttons or other controls or just by default.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Sweet, Thank you for all the help!

Helpful resources

Announcements
Power Apps News & Annoucements carousel

Power Apps News & Announcements

Keep up to date with current events and community announcements in the Power Apps community.

Community Call Conversations

Introducing the Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Apps Community Blog Carousel

Power Apps Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Top Kudoed Authors
Users online (3,756)