cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
dsab81
Microsoft
Microsoft

combo box defaultselecteditems property doesnt work

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

 

dsab81_0-1609828130729.png

 

Expected : The count of 76 should show within the combo box.

dsab81_1-1609828372191.png

 

 

Not sure what is the issue completely blocking me . Can anyone help ?

1 ACCEPTED SOLUTION

Accepted Solutions

Hi@

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

 

Best Regards,
Qi

View solution in original post

7 REPLIES 7
v-qiaqi-msft
Community Support
Community Support

Hi@

["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:

  1. Select the "Cities" from the NewComboBox
  2. Check the Checkbox
  3. All the items within the Combo Box display as expected.

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

 

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@

If(Checkbox1.Value=true,Glob)

Check the GIF as below:

010601Gif.gif

Hope it could help.

Best Regards,

Qi

Best Regards,
Qi

I updated the defaultselecteditems property as suggested, but no change. plz see the gif.

pa.gif

For you reference, here are the screenshots of my setup:

Checkbox : 

dsab81_0-1609899512434.png

 

Combo box (Bcc):

dsab81_1-1609899637304.png

dsab81_0-1609902482038.png

 

 

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)

 

v-qiaqi-msft
Community Support
Community Support

Hi@

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 

If(Checkbox1.Value=true,Glob)

Best Regards,

Qi

Best Regards,
Qi

Still no luck . just the same experience.

 

Here r the screenshots after changes you suggested : 

Combo-box:

dsab81_0-1609905130154.png

dsab81_1-1609905181434.png

 

Checkbox:

dsab81_2-1609905209085.png

 

Hi@

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

 

Best Regards,
Qi

View solution in original post

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Top Solution Authors
Top Kudoed Authors
Users online (2,586)