cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous
Not applicable

Dynamically add a new control (text input for example) after clicking a button

Hello PowerUsers !

Is there a way that allows me to dynamically create a new text field?

 

For example:

I have a button "Add a new field" in my screen, if I click on this button I want a new text field appears in the same screen. And if I click again I want a 2nd text field to appear below. A bit like To do list in javascript and HTML ...

Thanks ...

1 ACCEPTED SOLUTION

Accepted Solutions
v-xida-msft
Community Support
Community Support

Hi @Anonymous,

 

Do you want to add a Text input control dynamically within the screen of your app when you click the Button control?

 

If you want to add a Text input control (or other controls) dynamically within the screen of your app when your click the Button control, I afraid that there is no way to achieve your needs in PowerApps currently.

 

If you would like this feature to be added in PowerApps, please submit an idea to PowerApps Ideas Forum :
https://powerusers.microsoft.com/t5/PowerApps-Ideas/idb-p/PowerAppsIdeas

 

As an alternative solution, you could consider take a try to embed the Text input control into a Gallery control. I have made a test on my side, please take a try with the following workaround:3.JPG

 

4.JPG

 

 

  • Set the OnVisible property of the screen of your app to following formula:
ClearCollect(ItemsCollection,0)
  • Add a Gallery control within the screen of your app. Set the Items property of the Gallery control to following formula:
ItemsCollection
  • Within the Gallery control, add a Text input control.
  • Add a Button control within the screen, set the OnSelect property of the Button control to following formula:
Collect(ItemsCollection,CountRows(ItemsCollection))

The GIF image as below:Test1.gif

 

 

 

Best regards,

Kris

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

9 REPLIES 9
Rick72
MVP

Hi @Anonymous,

 

Nope. Nocando. There is no way to dynamically add a control.

 

Perhaps you can make something to work with the same controls, variables, a gallery/table, the patch and refresh functions? I thought I saw a video about something like that once but cannot find it anymore.

 

The controls and the button add a new item to a collection. A refresh make the newly added item visible, Somethng like that.

 

Robot Happy Rick

v-xida-msft
Community Support
Community Support

Hi @Anonymous,

 

Do you want to add a Text input control dynamically within the screen of your app when you click the Button control?

 

If you want to add a Text input control (or other controls) dynamically within the screen of your app when your click the Button control, I afraid that there is no way to achieve your needs in PowerApps currently.

 

If you would like this feature to be added in PowerApps, please submit an idea to PowerApps Ideas Forum :
https://powerusers.microsoft.com/t5/PowerApps-Ideas/idb-p/PowerAppsIdeas

 

As an alternative solution, you could consider take a try to embed the Text input control into a Gallery control. I have made a test on my side, please take a try with the following workaround:3.JPG

 

4.JPG

 

 

  • Set the OnVisible property of the screen of your app to following formula:
ClearCollect(ItemsCollection,0)
  • Add a Gallery control within the screen of your app. Set the Items property of the Gallery control to following formula:
ItemsCollection
  • Within the Gallery control, add a Text input control.
  • Add a Button control within the screen, set the OnSelect property of the Button control to following formula:
Collect(ItemsCollection,CountRows(ItemsCollection))

The GIF image as below:Test1.gif

 

 

 

Best regards,

Kris

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous
Not applicable

Thank you @v-xida-msft , this is exactly what I need !
Best regards !

Anonymous
Not applicable

Its working but if I have entered some value in the text box , on clicking the button to add new row clears the text in the previous row , and this doesnt replicate consistently . Do help me in solving this.

Perhaps you are using "ClearCollect" instead of "Collect"?
Anonymous
Not applicable

Thanks for the excellent sharing!

 

One question: How do you access the data  or content in those dynamic controls? Using the same example, the text input, how do I access the content of the the second, third textfield text that are generated dynamically? 

Hello Kris,

 

Thank you for posting the work around, it really helps.

 

I tried to implement same on my app, however the "add new text input button" does not work, the button does not dynamically add new text input control on the gallery.

 

I guess the issue is related with the button or the gallery Items property, I would be more than happy if you could help me troubleshoot and fix the control.

 

You will find below the controls on the app

 

1. Added the following on OnVisible property :

ClearCollect(Projectcollection,0)

2. The Gallery used is filtering data based from the 'Property Manager dropdown'. The items property is set to: 

Filter(Properties, 'Property Manager' = Dropdown_PropertyManager.Selected.'Property Manager')

3. Add a text input control "Add Project" on the Gallery:

Capture.png

 

4. Added a button and set the OnSelect property to: 

Collect((Properties),CountRows(Projectcollection))

 

Thanks, but item collection values are empty and not able to retrieve. For Eg. I have added two text box and entered values but Itemcollection shows values 0,1 and also empty string values to capture 

Hi Kris,

         Your post was really helpful.  Can we add  a label or text input instead of button to enter the number of required TEXT INPUTS. If yes then what functionality we need to add to the label to make it work. For example if i enter 50 in the  label or text input, then 50 text inputs need to generate.

Helpful resources

Announcements
Microsoft 365 Conference – December 6-8, 2022

Microsoft 365 Conference – December 6-8, 2022

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Difinity Conference 2022

Difinity Conference 2022

Register today for two amazing days of learning, featuring intensive learning sessions across multiple tracks, led by engaging and dynamic experts.

European SharePoint Conference

European SharePoint Conference

The European SharePoint Conference returns live and in-person November 28-December 1 with 4 Microsoft Keynotes, 9 Tutorials, and 120 Sessions.

Power Apps Ideas

Changes to Ideas Coming

We are excited to announce a new way to share your ideas for Power Apps!

Top Solution Authors
Top Kudoed Authors
Users online (5,330)