Hello Everyone,
Do any one know how can below scenario be achieved.
I have a screen with 19 checkboxes. Based up on the selection it will update the column in SharePoint list. This part is working as I Expected.
But the issue is that users can select all the checkboxes and I am not able to limit it to any 3 or max 3 only.
Any help on this one please?
Solved! Go to Solution.
@rajkumar88 wrote:
Here you go.
1. on App start : Set(Checkboxes,0)
2. for each checkboxes oncheck property: Set(Checkboxes,Checkboxes+1)
3.for each checkboxes UNcheck property: Set(Checkboxes,Checkboxes-1)
4. on a text label → visible property →If(Checkboxes > 3,true,false)
5. on "Save" button →DisplayMode →If(Checkboxes> 3,
DisplayMode.Disabled,DisplayMode.Edit)
FYI → I have "4 checkboxes" created for this scenario.
Remove the DisplayMode. as I have shown above, and it should disable the button.
In the OnChange event for each CheckBox add a number variable that adds 1 if the value is true, and subtracts one if its changed to false. Then set the display mode on each to Edit if the variable < 3 and disabled if not.
Edit: Just to clarify each checkbox would use the same variable.
Dustin
I am sorry to asl you again. I am bit new to this and not sure where and how to add exactly. can you please elaborate steps if possible with example? Sorry to bother you.
The option I was thinking of was to do the same thing for each checkbox, but then disable/enable the Submit button depending on whether the value of the resulting variable was <3. That way they can still access the checkboxes to change their selections, but can only submit if they select 3 or less.
can we also say that please select only 3 as a small pop-up or hide.unhide text box along with submit button?
and can you please let me know where and how to add code on these checkboxes?
In the OnStart for the app use this code
Set(checkedBoxes,0)
For each Checkbox put the following code in the OnChecked property
Set(checkedBoxes,checkedBoxes+1)
And this goes in the OnUnChecked property
Set(checkedBoxes,checkedBoxes-1)
Then put this in the Visible property of the error label
If(checkedBoxes > 3,true,false)
And this in the Display Mode property for the button
If(checkedBoxes > 3,DisplayMode.Disabled,DisplayMode.Edit)
That should be all you need.
hi @DustinCooper ,
you solution is disabling other checkboxes after 3 selections and there is no other way to uncheck and check other checboxes. From user prespective they will be confused why remaining are disabled and not allowing them to re-check other checboxes. Do we need to click on reset to select new 3checkboxes?
For DisplayMode try this: If(Or(CheckBox1.value,sCount<3),DisplayMode.Edit,Disabled)
The above should allow the three that are checked to be unchecked (Edit).
User | Count |
---|---|
200 | |
101 | |
89 | |
45 | |
43 |
User | Count |
---|---|
247 | |
106 | |
103 | |
65 | |
60 |