cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Post Prodigy
Post Prodigy

Radio Buttons not submitting correct

I am getting an error upon submission. This is my submit button outside of the gallery orAll(
Gallery2.AllItems,
If(
!IsBlank(Radio4.Selected.Value),
Patch(
'DE Radio',
Defaults('DE Radio'),
{
Title:Namee,
Answer: Radio4.Selected.Value,
Name_:User().FullName,
Date:Today()
}
)
)
); I only want the selected radio buttons to be submitted. Namee is a text label in the gallery and its text is ThisItem.Namee, which has the name of each item I want to patch. I am getting an error that says that title is required but I have that. Additionally it is patching random radio buttons. When I do Title:Title it picks another text label ThisItem.Area why does it choose this as the title?

3 ACCEPTED SOLUTIONS

Accepted Solutions

@powerapps890 

So I was able to get closer to your situation in a little test app I put together.  I DO see that there is some unusual behavior wherein the value of the first Radio control is being "ghosted" for the other items.  I've not seen this behavior with that control before and wonder if it is a temporary bug or if it is some other issue.

 

So, let's revisit the formula then on your Submit button.  Change to this and I believe your issue will be solved:

With({usrFull: User().FullName},

    ForAll(
        Filter(Gallery2.AllItems, !IsBlank(Radio)),
        Patch('DE Radio',
            Defaults('DE Radio'),
            {
                Title:Namee,
                Answer: Radio,
                Name_:usrFull,
                Date:Today()
            }
        )
    )
)

 

Since you are patching the Radio column on the OnChange, the underlying record will have the correct value and you can use that in the formula instead.

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up. Solved your problem? - Click on Accept as Solution. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too!

View solution in original post

@powerapps890 

Yes, but the issue I see with that approach is that you are going to be generating many many new records into your list and you will quickly get to the point where you run into delegation issues and record limits.

A separate list with the record ID, the user email and the current radio value would lessen that issue.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up. Solved your problem? - Click on Accept as Solution. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too!

View solution in original post

@powerapps890 

So the only reason then you are having to close and reopen is because you are using a collection that is only loading in the OnStart.

 

Change your OnChange of the Radio to:

Patch(GUATResponses,
    Coalesce(LookUp(GUATResponses, Title=vUserMail && GUATListID=Text(ThisItem.C1)),
        Defaults(GUATResponses)
    ),
    {Title: vUserMail, GUATListID: ThisItem.C1, RadioValue: Radio4.Selected.Value}
);
UpdateIf(collGUATMasterData, C1=ThisItem.C1, {C3:Self.Selected.Value})

 

That will update your collection at the same time.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up. Solved your problem? - Click on Accept as Solution. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too!

View solution in original post

80 REPLIES 80
Super User III
Super User III

@powerapps890 

Let's first clean up the formula a little - since you're only working on non-blank radio controls, set your formula to this:

With({usrFull: User().FullName},

    ForAll(
        Filter(Gallery2.AllItems, !IsBlank(Radio4.Selected.Value)),
        Patch('DE Radio',
            Defaults('DE Radio'),
            {
                Title:Namee,
                Answer: Radio4.Selected.Value,
                Name_:usrFull,
                Date:Today()
            }
        )
    )
)

(also - User().FullName is performance costly, so here we just have it as a scope variable and hit it once)

Next question, this is all assuming that 'DE Radio' is part of your Items property for Gallery2.  If so, then Namee is included and should be available and valid for your Patch.

 

See if this is helpful for you.

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up. Solved your problem? - Click on Accept as Solution. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too!

Yes, it is in my gallery. However, this patch statement didn't work it patched 30 records when I only selected 3 records and there are 46 total. The first button I hit works and it defaulted the other 27 to works why does it do this? @RandyHayes 

This is my default for the radio ThisItem.Radio this is my items for the radio RadioItems.Value. This is what I have for onchange for the radio Patch(GUAT,ThisItem,{Radio:Radio4.SelectedText.Value}). I suspect the error is coming from one of these because before I added this it patched perfectly. @RandyHayes 

@powerapps890 

So am I correct that you are trying to Patch another list if a user changes the Radio control, and that you are also trying to Patch another list based on items that have values?

 

One thing you might want to look at doing is to change the OnChange formula to this:

 

If(!(ThisItem.Radio = Radio4.Selected.Value),
    Patch(GUAT, ThisItem, {Radio: Radio4.Selected.Value})
)

 

 Two things

1) There is no SelectedText property being used - it is a deprecated property...avoid using it.

2) It checks before patching.  That way you are not constantly patching back to the datasource.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up. Solved your problem? - Click on Accept as Solution. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too!

The way the app will work is that they will go in select some radio buttons submit then leave and continue the next time they open the app. So i need their previous responses to stay so they know what they have already completed. Then when the submit button is hit I want everything submitted by that user to overwrite and update with their new responses. This is the gallery, @RandyHayes Annotation 2020-08-26 091505.jpg

When submitting it looks like it is defaulting the first response to all the blank ones and they are all coming through. @RandyHayes Everything was submitting until made the radio buttons stick when filtering. @

@powerapps890 

Could you clarify "I want everything submitted by that user to overwrite and update with their new responses."

If you are saving all through the process, then there is nothing to overwrite and update. Unless, this is where the 'DE Radio' list comes into play?

 

I am getting that your Gallery is based on the GUAT list and that you are updating that list as users change the Radio values.

And, when you then "submit", you are then creating new records in the 'DE Radio' list for each item that has a value in the Radio control in the Gallery.

 

- Your Gallery (based off of GUAT) has a Radio control in it that has a Default set to ThisItem.Radio

- Namee is the second column of your gallery and is shown in the gallery with a label and a Text property of ThisItem.Namee

 

 

Please confirm all of the above and then let's explore the issues.

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up. Solved your problem? - Click on Accept as Solution. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too!

That is where DE Radio comes into play. The patch statement sends their responses of works, issues, fails. I already have the statement in my submit button that removes their previous responses and updates them with the new ones and the old ones since I want those to be defaulted. I want the default of the radio button to be what they previously selected so they dont have to reselect it when they open the app. Currently, when someone else opens the app they can see the answers I submitted which should not happen because the app should only be pulling the previous answers from that specific user. And yes both of the bullet points you listed are correct. The mains things I need - 1. When the user reloads the app to have radio buttons default to what they have already submitted 2. Only submit the radio buttons that they have checked with works/issues/fails @RandyHayes 

I have this exact functionality working with another app that uses checkboxes instead of radiobuttons so I can show the code for that if I'm not explaining it enough 

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

News & Announcements

Community Blog

Stay up tp date on the latest blogs and activities in the community News & Announcements.

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Community Highlights

Community Highlights

Check out the Power Platform Community Highlights

Top Solution Authors
Top Kudoed Authors
Users online (11,028)