I have a combo box and a check box . When i check the check box , all the items in the combo box should be selected .
Combo box - items property :
Sort(Distinct(
SiteCollection,
If(
NewComboBox.Selected.Value = "Cities",
City
)
),Result)
Combo box Default Selected Items Property:
Glob
Check box - On Check Property:
Set(Glob,Distinct(SiteCollection,If(NewComboBox.Selected.Value = "Cities",City) ) )
When the checkbox is selected , the list of cities are passed on to variable called Glob.
I used this same Glob variable in the default selected items property of combo box.
Issue:
When i check the checkbox , i could see that glob variable table has cities . But not sure why default selected values property is not taking up the values from the glob variable and selecting all cities in combo box.
if you see below, check box is selected, but item count in bcc combo box , didnt change any thing. it ideal should list the count of items. like e.g 76 items within the combo box
Expected : The count of 76 should show within the combo box.
Not sure what is the issue completely blocking me . Can anyone help ?
Solved! Go to Solution.
Hi@dsab81,
Sorry for the late reply.
This time I decided to create a similar collection to test again.
Here is my collection named "Site Admin":
ClearCollect(
'Site Admins',
{
City: "d",
Supplier: "as",
'Site Name': "xxx"
},
{
City: "s",
Supplier: "sd",
'Site Name': "xxx"
},
{
City: "d",
Supplier: "ff",
'Site Name': "xx"
},
{
City: "d",
Supplier: "fd",
'Site Name': "xxx"
}
)
Set the OnCheck of the Checkbox1 as below:
Reset(ComboBox2);
Set(
Glob,
Distinct(
'Site Admins',
If(
NewComboBox.Selected.Value = "City",
City,
NewComboBox.Selected.Value = "Supplier",
Supplier,
NewComboBox.Selected.Value = "Site",
'Site Name'
)
)
);
Set the Items property of the Combo Box2 as below:
Sort(Distinct(
'Site Admins',
If(
NewComboBox.Selected.Value = "Supplier",
Supplier,
NewComboBox.Selected.Value = "City",
City,
NewComboBox.Selected.Value = "Site",
'Site Name'
)
),Result)
Set the OnChange property of the Combo Box2 as below:
Clear(SelectedPerson); // Add this formula
ForAll(
// Add this formula
'ComboBox2'.SelectedItems,
Collect(
SelectedPerson,
Filter(
'Site Admins',
If( // Modify formula here
NewComboBox.Selected.Value = "Supplier",
Supplier = Result,
NewComboBox.Selected.Value = "City",
City = Result,
NewComboBox.Selected.Value = "Site",
'Site Name' = Result
)
)
)
);
If((CountRows(SelectedPerson)+CountRows(NewComboBox.SelectedItems)+CountRows('ComboBox2'.SelectedItems)) >500,UpdateContext({PopUpCount: true}))
Set the DefaultSelectedItems property of the Combo Box2 as below:
If(Checkbox1.Value=true,Glob)
Here is my test result, everything works great, please check as above.
Regards,
Qi
Hi@dsab81,
Based on the issue that you mentioned, do you want the Combo Box to select all the items within based on the NewComboBox selected and checked Checkbox?
Could you please share a bit more about the scenario?
I have a test on my side and everything works great, please check as follows.
In my scenario, I set the Items property of the NewComboBox as :
["Cities","Tests"]
I set the OnCheck property of the Checkbox as below:
Set(
Glob,
Distinct(
SubCategory,
If(
NewComboBox.Selected.Value = "Cities",
Category
)
)
)
I set the Items property of the Combo Box as below:
Sort(Distinct(SubCategory,If(NewComboBox.Selected.Value="Cities",Category)),Result)
I set the DefaultSelectedItems property of the Combo Box as below:
Glob
Note: 'SubCategory' is my data source and the Category is a Text column in my data source.
Here is what I did next:
I want to explain to you that the DefaultSelectedItems property of the Combo Box only works when you select nothing in the Combo Box which means that the Glob variable will be triggered in a default condition. In other word, if you have already selected an option from the Combo Box, even though you will then select "Cities" from the NewComboBox, the variable Glob you set in the DefaultSelectedItems property of the Combo Box will not be triggered cause the Combo Box has already not in a default situation.
I think you should use the Reset() function to reset the Combo Box in order to make the Combo Box back to a default situation.
Please modify your formula you set in the OnCheck property of the Checkbox as below:
Reset(ComboBox1);
Set(
Glob,
Distinct(
SubCategory,
If(
NewComboBox.Selected.Value = "Cities",
Category
)
)
)
Note: ComboBox1 represents the Combo Box named Bcc Items in your scenario.
Hope it could help.
Best Regards,
Qi
Hi Qi, Thanks for your response. Yes you got my scenario right . Points 1, 2,3 you mentioned are exactly what i am trying to do.
Tried the reset option you have suggested 😞 No luck. I would like to ping you on our internal forum's.
Hi@dsab81,
Do you want to trigger the variable Glob only when you check the Checkbox?
If so, I think there is something missing for the DefaultSelectedItems property of the Combo Box.
Please set the DefaultSelectedItems property of the Combo Box as below:
If(Checkbox1.Value=true,Glob)
Check the GIF as below:
Hope it could help.
Best Regards,
Qi
I updated the defaultselecteditems property as suggested, but no change. plz see the gif.
For you reference, here are the screenshots of my setup:
Checkbox :
Combo box (Bcc):
Combo box :
On Change :
Clear(SelectedPerson); // Add this formula
ForAll(
// Add this formula
'ComboBox-Bcc'.SelectedItems,
Collect(
SelectedPerson,
Filter(
'Site Admins',
If( // Modify formula here
NewComboBox.Selected.Value = "Supplier",
Supplier = Result,
NewComboBox.Selected.Value = "City",
City = Result,
NewComboBox.Selected.Value = "Site",
'Site Name' = Result
)
)
)
);
If((CountRows(SelectedPerson)+CountRows('ComboBox-To'.SelectedItems)+CountRows('ComboBox-Cc'.SelectedItems)) >500,UpdateContext({PopUpCount: true}))
Items:
Sort(Distinct(
'Site Admins',
If(
NewComboBox.Selected.Value = "Supplier",
Supplier,
NewComboBox.Selected.Value = "City",
City,
NewComboBox.Selected.Value = "Site",
'Site Name'
)
),Result)
Hi@dsab81,
// Please remove the formula you set for the OnSelect property of the Checkbox1, and set the OnCheck property:
Reset(ComboBox1); Set( Glob, Distinct( SiteCollection, If( NewComboBox.Selected.Value = "Cities", City ) ) )// This is just a part of your formula.Remove the formula you set for the OnUncheck property of the Checkbox1.
// Please remove the formula you set for the OnUncheck property of the Checkbox1.
// Set the DefaultSelectedItems property of the Combo Box as below:
If(Checkbox1.Value=true,Glob)
I want to explain to you that you could only set the variable in the OnCheck property of the Checkbox, and you put the If() condition into the DefaultSelectedItems of the Combo Box could only assign the variable once the Checkbox1 is checked.
Best Regards,
Qi
Still no luck . just the same experience.
Here r the screenshots after changes you suggested :
Combo-box:
Checkbox:
Hi@dsab81,
Sorry for the late reply.
This time I decided to create a similar collection to test again.
Here is my collection named "Site Admin":
ClearCollect(
'Site Admins',
{
City: "d",
Supplier: "as",
'Site Name': "xxx"
},
{
City: "s",
Supplier: "sd",
'Site Name': "xxx"
},
{
City: "d",
Supplier: "ff",
'Site Name': "xx"
},
{
City: "d",
Supplier: "fd",
'Site Name': "xxx"
}
)
Set the OnCheck of the Checkbox1 as below:
Reset(ComboBox2);
Set(
Glob,
Distinct(
'Site Admins',
If(
NewComboBox.Selected.Value = "City",
City,
NewComboBox.Selected.Value = "Supplier",
Supplier,
NewComboBox.Selected.Value = "Site",
'Site Name'
)
)
);
Set the Items property of the Combo Box2 as below:
Sort(Distinct(
'Site Admins',
If(
NewComboBox.Selected.Value = "Supplier",
Supplier,
NewComboBox.Selected.Value = "City",
City,
NewComboBox.Selected.Value = "Site",
'Site Name'
)
),Result)
Set the OnChange property of the Combo Box2 as below:
Clear(SelectedPerson); // Add this formula
ForAll(
// Add this formula
'ComboBox2'.SelectedItems,
Collect(
SelectedPerson,
Filter(
'Site Admins',
If( // Modify formula here
NewComboBox.Selected.Value = "Supplier",
Supplier = Result,
NewComboBox.Selected.Value = "City",
City = Result,
NewComboBox.Selected.Value = "Site",
'Site Name' = Result
)
)
)
);
If((CountRows(SelectedPerson)+CountRows(NewComboBox.SelectedItems)+CountRows('ComboBox2'.SelectedItems)) >500,UpdateContext({PopUpCount: true}))
Set the DefaultSelectedItems property of the Combo Box2 as below:
If(Checkbox1.Value=true,Glob)
Here is my test result, everything works great, please check as above.
Regards,
Qi
The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.
User | Count |
---|---|
169 | |
94 | |
64 | |
64 | |
60 |
User | Count |
---|---|
241 | |
163 | |
95 | |
85 | |
82 |