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
PA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Power Query PA Forum 768x460.png

Check it out!

Did you know that you can visit the Power Query Forum in Power BI and now Power Apps

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

PowerPlatform 768x460.png

Microsoft Learn

Check out our new Discover Your Career Path blog post series and get all the details.

Users online (1,526)