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

Enabling a radio button based on text value entered

I have a gallery in which radio buttons are there whose count vary with each line item. i have to select radio button as per the value entered in text box. 

SUPRIYAK_0-1642166753327.png

If 1 is entered in text box, then 1st radio button shall be selected (normal(7bar))

If 2 is entered in text box, then 2nd radio button shall be selcted (<6.5 bar)

and so on....

We have tried using the below code (in onselect property of text box) but it selects radio buttons randomly not as per sequence:

 

If (
TextInput5.Text = "2", Radio4.Selected.Result = ThisItem.Condition_1_Value,
TextInput5.Text = "3", Radio4.Selected.Result = ThisItem.Condition_2_Value,
TextInput5.Text = "4", Radio4.Selected.Result = ThisItem.Condition_3_Value,
TextInput5.Text = "5", Radio4.Selected.Result = ThisItem.Condition_4_Value,
TextInput5.Text = "6", Radio4.Selected.Result = ThisItem.Condition_5_Value,
Notify("wrong")
)

 

And after entering a no. in text box, we have to click somewhere else in the screen to make it work, which should not happen ideally.

1 ACCEPTED SOLUTION

Accepted Solutions
rubin_boer
Super User
Super User

hi @MAYURIV ok cool thank you.

 

So let's see this is what you want right

Change Radio Button 2.gif

The assumption is that it is done on an equipment basis

  • Add a flexible gallery
    • Filter(yourDataSource, Equipment_Name = yourSelectionCriteriaComponent.Selected.Equipment_Name)
  • Add a label with Text = "ThisItem.Check_SNo & " " & ThisItem.Checking_Parameter"
  • Add Radio button with Item = Filter(
    Table(
    {measure: ThisItem.Nominal_Value},
    {measure: ThisItem.Condition_1_Value},
    {measure: ThisItem.Condition_2_Value},
    {measure: ThisItem.Condition_3_Value},
    {measure: ThisItem.Condition_4_Value},
    {measure: ThisItem.Condition_5_Value}
    ),
    !IsBlank(measure)
    )
    • With the above you check all teh conditions but only show those that are not empty
  • Set the Radio Buttons Default = With(
    {_Eval: TextInput1.Text},
    If(
    _Eval = "1",
    ThisItem.Nominal_Value,
    _Eval = "2",
    ThisItem.Condition_1_Value,
    _Eval = "3",
    ThisItem.Condition_2_Value,
    _Eval = "4",
    ThisItem.Condition_3_Value,
    _Eval = "5",
    ThisItem.Condition_4_Value ,
    _Eval = "6",
    ThisItem.Condition_5_Value
    )
    )
  • Add a text box, set Format to number and its Deault = 1

 

There you go. you may want to determine the height of the radio button that way the gallery looks nicer.

 

Hope it helps

R

 

 

hey there if you liked the post give it a thumbs up, and if it solved your question please accept it as a solution.

View solution in original post

9 REPLIES 9
rubin_boer
Super User
Super User

hi @SUPRIYAK 

Try this, set the default of the radio to do the evaluation (conditional statement).

 

Example

rubin_boer_0-1642174240322.png

 

Result

Enter 1

rubin_boer_1-1642174279004.png

Enter 2

rubin_boer_2-1642174317718.png

Enter out of scope number

rubin_boer_3-1642174344019.png

 

Hope this helps,

R

 

 

 

 

 

hey there if you liked the post give it a thumbs up, and if it solved your question please accept it as a solution.
MAYURIV
Helper II
Helper II

We want default property of radio to be first open. Hence we have already written a code for it in the default button.

ThisItem.Nominal_Value

It is like first option is preselected.

User should enter text input from 2 onwards. Based on user input, radio options should get selected.

hence we wrote below code in the on select of text box.

If (
TextInput5.Text = "2", Radio4.Selected.Result = ThisItem.Condition_1_Value,
TextInput5.Text = "3", Radio4.Selected.Result = ThisItem.Condition_2_Value,
TextInput5.Text = "4", Radio4.Selected.Result = ThisItem.Condition_3_Value,
TextInput5.Text = "5", Radio4.Selected.Result = ThisItem.Condition_4_Value,
TextInput5.Text = "6", Radio4.Selected.Result = ThisItem.Condition_5_Value,
Notify("wrong")
)

Hope u have understood the problem.

rubin_boer
Super User
Super User

hi @MAYURIV    the fundamental stay the same, change the default value.  

 

Result 

 

Change Radio Button.gif

 

When the screen opens the default value is the first selection "Option 1", as value is selected afterwards the OnChange update the variable and the selected item of the button changes 

Let me show an example

  1. Create a local variable in OnVisible of the Screen UpdateContext({_InitialValue: "Option 1"})
  2. Set the TextBox's OnChange = UpdateContext({_InitialValue: "Option " & Self.Text})
  3. The Radido button Default = _InitialValue

    Now your app
    Change Radio Button - yours.gif

    Your app

    1. Create a local variable in OnVisible of the Screen UpdateContext({_InitialValue: "Normal (7 bar)"})
    2. Set the TextBox's OnChange =   

      With(
      {
      _Selection: If(
      Self.Text = "1", "Normal (7 bar)",
      Self.Text = "2", "<= 6.5 bar",
      Self.Text = "3", "<= 6 bar",
      Self.Text = "4", ">7.5 bar"
      )
      },

      UpdateContext({_InitialValue: _Selection})
      )

    3.  The Radido button Default = _InitialValue

Hope this is mor eclearer and it helps,

R

hey there if you liked the post give it a thumbs up, and if it solved your question please accept it as a solution.
MAYURIV
Helper II
Helper II

It is not possible to create local variable on screen like UpdateContext({_InitialValue: "Normal (7 bar)"})

We are taking the options from sharepoint list.

I tried writing below in on visible property of screen,it is giving me error.

UpdateContext({_InitialValue: ThisItem.nominal_value})

 

onchange property of text, I could write below code

With(
{
_Selection: If(
TextInput5.Text = "1", Radio4.Selected.Result = ThisItem.Nominal_Value,
TextInput5.Text = "2", Radio4.Selected.Result = ThisItem.Condition_1_Value,
TextInput5.Text = "3", Radio4.Selected.Result = ThisItem.Condition_2_Value,
TextInput5.Text = "4", Radio4.Selected.Result = ThisItem.Condition_3_Value,
TextInput5.Text = "5", Radio4.Selected.Result = ThisItem.Condition_4_Value,
TextInput5.Text = "6", Radio4.Selected.Result = ThisItem.Condition_5_Value
)
},

UpdateContext({_InitialValue: _Selection})
)

 

In default property of radio, I wrote _InitialValue

 

Please help me write onvisible screen code for which I am getting error. 

We are new to powerapps and are not used to syntax.

rubin_boer
Super User
Super User

hi @MAYURIV is it possible to give more information about the structure of your SharePoint List?

 

For example, if your data is something like {id:1, nom_value: 7, condition_1: 6.5, condition_2: 6} etc a certain method will apply. if the data is {id:1, condition: [7, 6.5, 6]} a different method and so forth...

 

Regards,

R

hey there if you liked the post give it a thumbs up, and if it solved your question please accept it as a solution.
SUPRIYAK
Helper III
Helper III

i have attached the sharepoint list which we are using to fetch the data.

 

Kindly help.

rubin_boer
Super User
Super User

hi @MAYURIV ok cool thank you.

 

So let's see this is what you want right

Change Radio Button 2.gif

The assumption is that it is done on an equipment basis

  • Add a flexible gallery
    • Filter(yourDataSource, Equipment_Name = yourSelectionCriteriaComponent.Selected.Equipment_Name)
  • Add a label with Text = "ThisItem.Check_SNo & " " & ThisItem.Checking_Parameter"
  • Add Radio button with Item = Filter(
    Table(
    {measure: ThisItem.Nominal_Value},
    {measure: ThisItem.Condition_1_Value},
    {measure: ThisItem.Condition_2_Value},
    {measure: ThisItem.Condition_3_Value},
    {measure: ThisItem.Condition_4_Value},
    {measure: ThisItem.Condition_5_Value}
    ),
    !IsBlank(measure)
    )
    • With the above you check all teh conditions but only show those that are not empty
  • Set the Radio Buttons Default = With(
    {_Eval: TextInput1.Text},
    If(
    _Eval = "1",
    ThisItem.Nominal_Value,
    _Eval = "2",
    ThisItem.Condition_1_Value,
    _Eval = "3",
    ThisItem.Condition_2_Value,
    _Eval = "4",
    ThisItem.Condition_3_Value,
    _Eval = "5",
    ThisItem.Condition_4_Value ,
    _Eval = "6",
    ThisItem.Condition_5_Value
    )
    )
  • Add a text box, set Format to number and its Deault = 1

 

There you go. you may want to determine the height of the radio button that way the gallery looks nicer.

 

Hope it helps

R

 

 

hey there if you liked the post give it a thumbs up, and if it solved your question please accept it as a solution.
SUPRIYAK
Helper III
Helper III

Thanks a lot Sir... it works perfectly now 🙂

MAYURIV
Helper II
Helper II

Thank u Sir for ur continuous support.

Helpful resources

Announcements
Microsoft 365 Conference – December 6-8, 2022

Microsoft 365 Conference – December 6-8, 2022

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Difinity Conference 2022

Difinity Conference 2022

Register today for two amazing days of learning, featuring intensive learning sessions across multiple tracks, led by engaging and dynamic experts.

European SharePoint Conference

European SharePoint Conference

The European SharePoint Conference returns live and in-person November 28-December 1 with 4 Microsoft Keynotes, 9 Tutorials, and 120 Sessions.

Power Apps Ideas

Changes to Ideas Coming

We are excited to announce a new way to share your ideas for Power Apps!

Top Solution Authors
Top Kudoed Authors
Users online (4,433)