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

Reset and deselect radio buttons

I want to be able to reset my radio button with another button and be able to deselect each button. Just using the command doesn't reset because in my items I have RadioItems.Value This in my onchange for the button-  Patch(GUAT,ThisItem,{Radio:Radio4.SelectedText.Value}); This is the default for the radio buttons - ThisItem.Radio. When i try to use reset nothing happens. I want to be able to mass deselect with a button and individually uncheck radio buttons. Is this possible?

14 REPLIES 14

I couldn't find a way to un-select only the value selected, but this will reset the control if it is selected a second time.

In the OnSelect property use this formula: Set(var_Checked,true)

Then in the OnChange use this:

If(var_Checked,Reset(Radio2));Set(var_Checked,!var_Checked)
If you have a blank in the Default property it will clear the control when it is re-selected.
Perhaps if you set the Default to a variable and changed the variable value whenever the control was selected, but once you get beyond 3 radio selections the If would get a little complicated.

@powerapps890 

Jumping back in for a notice...there appears to be some unusual activity with Radio controls going on in a Gallery.  We were working this in another thread and there does indeed seem to be some issues with that control.  You can work around it, but I am working on a writeup on the issue.

 

As for clearing a Radio control in a Gallery - yes, you can do this fairly easily.  However it does experience the issue we are seeing.

If you put a Toggle on your screen and call it tglResetRadios then set the OnCheck property to UpdateContext({lclResetRadios:false}) then set the Default property to lclResetRadios

 

Then in your Gallery, place a control to reset the Radio.  On the OnSelect action formula, put the following (and this is based on the conversation in the other thread for names):

Patch(GUAT, ThisItem, {Radio: Blank()}); UpdateContext({lclResetRadios:true})

 

Then on your Radio Control in the Gallery, set the Reset property to tglResetRadios.Value

 

This will then give you individual reset control over the Radio controls in the Gallery.

 

HOWEVER - this is flaky at the moment based on the other issue we found.  Even though your Radio will show nothing selected, in some cases the Selected property of the Radio will still have a value.  

 

_____________________________________________________________________________________
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!
cindyc
Frequent Visitor

I don't know if this will help, but here is what I did to de-select radio buttons, without using a separate button to reset the whole Radio Button object;

 

I found this article here that helped immensely;

 

PowerApps QuickBits – Radio Button Reset Solution – NextStep Creations 

 

The following code below in conjunction with the above code allows you to click any radio option at any time and have it deselect the value if you click on it again.

 

Radio Button Object (rdoTest)

 

Variables Used:

my_RadioValue = tracks previously selected radio option

rdo_Reset = tracks if we have called the Reset function on the radio button object on last click, sets this value on the Reset Attribute of the Radio Button Object.

 

Attributes Modified on Radio Button Object:

OnSelect

 

 

 

 

 

 

If(Text(my_RadioValue) = Text(rdoTest.Selected.Value), Reset(rdoTest);Set(rdo_Reset, true), Set(rdo_Reset, false));If(rdo_Reset = true, Set(my_RadioValue, ""), Set(my_RadioValue, Text(rdoTest.Selected.Value)))

 

 

 

 

 

 

OnChange

 

 

 

 

 

Set(my_RadioValue, Text(rdoTest.Selected.Value))

 

 

 

 

 

Reset

 

 

 

 

 

rdo_Reset

 

 

 

 

 

Let's go through each one;

 

OnSelect

 

First before we compare our variable to the selected radio button selection, we make sure we convert them both to Text. I just do this for my peice of mind, PowerApps complains alot about data types, so I just always make sure they are the same on compare:

 

 

 

 

 

If(Text(my_RadioValue) = Text(rdoTest.Selected.Value)​

 

 

 

 

 

  • If the values are the same, that means the user clicked on the same radio button that he already selected. Call the Reset Function on the radio button object, and chain a call to Set and set the rdo_Reset variable, which is assigned to the Reset Attribute, to true so we can track its behavior.

 

 

 

 

 

Reset(rdoTest);Set(rdo_Reset, true)

 

 

 

 

 

  • If the values are NOT the same, that means we need to set the rdo_Reset flag to false.

 

 

 

 

Set(rdo_Reset, false)

 

 

 

 

  • Finally we chain another If statement here to check and see what the value of the rdo_Reset flag was. If it was just set to true, meaning we just called the Reset function on the Radio Button object, then we also need to set the value of our placeholder variable (my_RadioValue)  that holds the previous radio button selection, to blank or "", which is really just the Default value. 

   

 

 

 

 

If(rdo_Reset = true, Set(my_RadioValue, ""), ​

 

 

 

  • If it was just set to false, meaning we did not just call the Reset function on the Radio Button, just make sure we set the Text value of the selected option on our placeholder variable (my_RadioValue).

    

 

 

 

Set(my_RadioValue, Text(rdoTest.Selected.Value))​

 

 

 

 

OnChange

 

We are just set our placeholder variable (my_RadioValue) to the Text value of the selected radio button option (rdoTest.Selected.Value) nothing special here.

 

Reset

 

One thing we need to keep in mind is the Reset Attribute of the Radio Button Object is not the same as the Reset function. With the Reset function we pass in the radio button object and it resets the radio button object, meaning nothing is selected. The Reset attribute, according to this this article, "...it helps to reset the control’s default value." Not sure what that means, it doesn't seem to force a Reset call when set to true, but maybe it does?

 

PICS

Here are some pics that show the initial selection of one of the options, after it was selected again, and then again. When I was testing, it seemed to get stuck after a 3rd click on the same option, this does not happen now;

 

Initial Selection:

 

cindyc_0-1643234667438.png

Select same option 1, again;

 

cindyc_1-1643234776753.png

And after selecting option 1 again for the 3rd time;

 

cindyc_2-1643234849711.png

And now a normal selection from option 1 to option 2;

 

cindyc_3-1643234913190.png

 

HOW TO GET VARIABLES TO SET INSIDE A FORM

And lastly, this was driving me crazy, and thanks to StackOverflow poster/genius SeaDude, who posted a reply to this article;

 

Powerapps - When i open the screen1 i need the radio1 option to not select either radio button 

 

I could not figure out how to get variables on a Radio Button Object that is attached to a Form to be usable, to Set, etc. Every time I tested and tried different things, the values would never set for either of the variable (for the value or the reset), it was almost like the app or the screen didn't know they existed. Thats because it didn't, see below;

 

Select the Screen object

cindyc_0-1643243081850.png

 

Initialize your variables inside the OnVisible Attribute of the Screen

cindyc_1-1643243231009.png

 

Now the variables can be set from the Radio Button Object, and the deselect will work on Radio Buttons inside a Form.

Hi @cindyc 

I have a radio button called Overall RAG which changes based on the other radio buttons in the screen. Overall Rag has three colors( Red, green, amber). Overall rag can be changed manually also by the user. My requirement is when the overall rag is red colour and the user wants to change to green it must show a popup with YES or NO button stating are you sure you want to make the change. If Yes it will change from Red to Green. If No the radio button must get restored to the previous selected value. But my radio button changes to green eventhough i click on NO. So I have used a collection on NO button to collect the overall radio button default value but not able to pass the variable value on the default of the overall Rag. Since my default of the overall Rag radio button has two IF conditions. 

Any help on this would be greatly appreciated.

srafkh
Regular Visitor

Thank you Brians..

Helpful resources

Announcements
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

365 EduCon 768x460.png

Microsoft 365 EduCon

Join us for two optional days of workshops and a 3-day conference, you can choose from over 130 sessions in multiple tracks and 25 workshops.

Users online (3,030)