web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Add / Remove items fro...
Power Apps
Answered

Add / Remove items from a Collection based on Visible Property

(0) ShareShare
ReportReport
Posted on by Microsoft Employee

I'd like to build a progress bar based on how many questions a user has completed thus far in a 40-50 field form. Every field is required. I've set the asterisks of each card to visible=false when a user enters data. 

 

My thought is that I'll base the progress bar on the # of asterisks that are visible. I can't figure out how to accomplish this. I think the solution is something like: 

 

When screen loads: 

ClearCollect(colProgress, 

    {field: name, vis: If( name_star.visible, 0,1)},

    {field: date, vis: If( date_star.visible, 0,1)},

    {field: size, vis: If( size_star.visible, 0,1)},

    {field: pattern, vis: If( pattern_star.visible, 0,1})

 )

 

The Textbox/Shape for the progres bar is:

 

Sum(colProgress.vis,vis)

 

This all works great, however:

 

My problem:

  • How do I update the collection when a field is completed by user and the asterisk disappears? 
    • I don't want to ClearCollect each time a field is completed, this I think will affect performance. 

Any ideas? 

Categories:
  • dinusc Profile Picture
    Microsoft Employee on at

    Hello Eric,I will start by saying that I don't think running ClearCollect on 50 rows will be a performance issue even on an oldest mobile device that supports PowerApps.

    If you still want to update a collection, have you considered "Update" function? Something like:

    Update(colProgress, LookUp(colProgress, field=date), {field: date, vis: If( date_star.visible, 0,1)})

     

  • Verified answer
    Community Power Platform Member Profile Picture
    Microsoft Employee on at

    Hi @dinusc. Thank you very much for the response. I did indeed end up using various combinations of Update in the OnChange Property. 

     

    For Person Lookup fields: 

    If(
     IsBlank(name.Selected.DisplayName), 
     Update(
     colProgressBar,
     First(
     Filter(
     colProgressBar,
     field = "name")),
     {field: "name", vis: 0}),
     Update(
     colProgressBar,
     First(
     Filter(
     colProgressBar,
     field = "name")),
     {field: "name", vis: 1})
    )

    For DateTime dropdowns, I put the following code in all 3 fields (datepicker, hour, minute dropdowns):

    If(
     Or(
     IsBlank(date_datepicker),
     hour.Selected.Value = " ",
     minute.Selected.Value = " "),
     Update(
     colProgressBar,
     First(
     Filter(
     colProgressBar,
     field = "date")),
     {field: "date", vis: 0}),
     Update(
     colProgressBar,
     First(
     Filter(
     colProgressBar,
     field = "date")),
     {field: "date", vis: 1})
    )

     

     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Leaderboard > Power Apps

#1
11manish Profile Picture

11manish 396 Super User 2026 Season 2

#2
Mohsin Ali Profile Picture

Mohsin Ali 323

#3
WarrenBelz Profile Picture

WarrenBelz 193 Most Valuable Professional

Last 30 days Overall leaderboard