cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
DancingCatx64
Helper II
Helper II

Repeating table in "customize form" for SharePoint

Hi,

 

I am trying to use the "customize form" option under Power Apps menu in SharePoint to add 2 repeating tables to a form.

 

Now I have been able to follow a guide from https://www.c-sharpcorner.com/article/create-repeating-section-in-powerapps-new-form-step-by-step-pa... that has what I am after.

 

Now I have been able to get this working when building a standalone app, but I really need to have this working on the form that you get when you double click on a SharePoint list item (to view or edit) or when using the new link in the Sharepoint list.

 

Does anyone know is it possible to make that guide with the "customize form" option I have seen plenty of guides for having data stored in several SharePoint lists, but this is something that I want to avoid.

 

Thank you

20 REPLIES 20
RandyHayes
Super User III
Super User III

@DancingCatx64 

Yes, this can all work on a customized form from the SharePoint interface as well.  Are you running into a particular issue trying to do it?

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Hi @RandyHayes ,

 

Yes I am running into a few issues - mostly with I need to put my code to make things save and load (for viewing and editing).

 

This is one of several errors that I am experiencing:

 

DancingCatx64_0-1617746676734.png

 

The tutorial that I linked to states that you create a save button to hold the code to save. Since I am using the SharePoint integration, that won't be much good as people are going to press the wrong save link.

 

This is the code from the screenshot above (This works on the on select option):

 

 

UpdateContext(
    {
        NewItemsString: Concat(
            RepeattingTable_1.AllItems,
            Concatenate(
                'sr.no_1'.Text,
                ";",
                Dropdown2.SelectedText.Value,
                ";",
                technicalcontent_1.Text,
                ";",
                description_1.Text,
                ";",
                "|"
            )
        )
    }
);
SubmitForm(SharePointForm1)

 

 

 

The next block of code that is giving me errors is this one:

 

DancingCatx64_1-1617747403136.png

 

This code is meant to be set for when the form become viable. The full code for that is

 

 

UpdateContext({EditStringVal: SelectedItem.RepeatedSection});
UpdateContext({EditStringVal2: SelectedItem.RepeatedSection2});
Clear(EditCols);
Clear(EditCols2);
Set(
    Editstr,
    SelectedItem.RepeatedSection
);
Set(
    Editstr,
    Left(
        Editstr,
        Len(Editstr) - 1
    )
);
ForAll(
    Split(
        Editstr,
        "|"
    ),
    Collect(
        EditCols,
        {
            CItemSerialNumber: Text(
                Last(
                    FirstN(
                        Split(
                            Result,
                            ";"
                        ).Result,
                        1
                    ).Result
                ).Result
            ),
            Clevel: Text(
                Last(
                    FirstN(
                        Split(
                            Result,
                            ";"
                        ).Result,
                        2
                    ).Result
                ).Result
            ),
            Ctc: Text(
                Last(
                    FirstN(
                        Split(
                            Result,
                            ";"
                        ).Result,
                        3
                    ).Result
                ).Result
            ),
            Cdescription: Text(
                Last(
                    FirstN(
                        Split(
                            Result,
                            ";"
                        ).Result,
                        4
                    ).Result
                ).Result
            )
        }
    )
);

Set(
    Editstr1,
    SelectedItem.RepeatedSection2
);
Set(
    Editstr1,
    Left(
        Editstr1,
        Len(Editstr1) - 1
    )
);
ForAll(
    Split(
        Editstr1,
        "|"
    ),
    Collect(
        EditCols2,
        {
            CItemSerialNumber: Text(
                Last(
                    FirstN(
                        Split(
                            Result,
                            ";"
                        ).Result,
                        1
                    ).Result
                ).Result
            ),
            Clevel: Text(
                Last(
                    FirstN(
                        Split(
                            Result,
                            ";"
                        ).Result,
                        2
                    ).Result
                ).Result
            ),
            Ctc: Text(
                Last(
                    FirstN(
                        Split(
                            Result,
                            ";"
                        ).Result,
                        3
                    ).Result
                ).Result
            ),
            Cdescription: Text(
                Last(
                    FirstN(
                        Split(
                            Result,
                            ";"
                        ).Result,
                        4
                    ).Result
                ).Result
            )
        }
    )
)

 

 

Please note that this is from my testing app where I had this working (I needed 2 repeating tables)

 

For now they are the only issues that I have ran into - as you can see, I am playing with this in my dev environment before getting this out in production.

 

Also, I do intend to copy FormScreen1 several times (for edit and view screen), just taking baby steps to make sure that codes goes where they should.

 

Update, I tried to get sneaky by setting setting the onsave function to 'Select(Button1_1)' and that didn't work as shown below:

 

DancingCatx64_0-1617752834487.png

 

Any help would be much appreciated.

DancingCatx64
Helper II
Helper II

@RandyHayesAre you still around?

RandyHayes
Super User III
Super User III

@DancingCatx64 

Yes...still here!  Sorry for my delay in response.  I've been pulled hard on a project and haven't had as much time to respond to forum posts.  Just now going through some to make sure I am not leaving things hanging.

 

I am not clear on what you are doing with all of these variables on your OnSave and OnVisible.  What is SelectedItem?  And what are you trying to do in the OnSave?

 

Stay away from the variables, they are only going to cause you issues.  What you need to do is all don within the form.

What column in your data list are you trying to store this in (name)?

 

What is the Items property of the Gallery you are trying to fill in?  Can you also provide a screenshot of the screen in general to get an idea on what everything looks like?

 

Why would you want to have a duplicate form?  The form can be in View mode or Edit mode.  Is there a particular reason you want to copy it?

 

You cannot select a button outside of the context of the screen.  You were putting that select on the OnSave...that is not in context.  And...there is no need to do anything sneaky to make this work.

 

 

Sorry I have a litany of questions, but I need a few gaps filled in before giving you a good answer.  In general, the solution is quite simple, but rather then just blurt out a "do this" and then you come back with a "didn't work", I need to know a few more details and then I can piece it together better for your scenario.

 

 

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes
DancingCatx64
Helper II
Helper II

Hi @RandyHayes ,

 

So starting from the start (I also rollback the entire form before I started trying to add all the code from the standalone app to this - so I am at a clean state now): I am trying to build a SharePoint list that would replace an internal word document (that is a form). I have everything on that word document (name, date, departments etc) in my customize SharePoint form, but I have 2 tables that I am trying to set up as repeating tables.

 

The 2 repeating tables look like this:

 

DancingCatx64_0-1617942046706.png

 

My powerapp currently looks like this:

 

DancingCatx64_1-1617942414750.png

 

To hold the data of the 2 repeating tables, I have created 2 extra columns, one called Assessment and the other called actionlist. They are both set as type "Multiple lines of text".

 

I am aware that I may need to make the screen bigger, I'm happy to play around with the layout once I have the rest sorted out.

 

What do I need to do to be able to acheive the 2 repeating tables and store then in the same SharePoint list?

 

I guess that the tutorial that I found was a bad example as it was designed for a standalone app.

RandyHayes
Super User III
Super User III

@DancingCatx64 

Perfect!  So, after reviewing the response, are you still sold on putting these repeating lists into the SAME record (i.e. the two columns you mention) of the main list?

I ask because you have a fairly good amount of columns in the Assessment List and the Action List.  Have you considered having a Action and Assessment SharePoint list that would be usable in your app?

 

We do this process all the time of putting an entire table worth of data into a text column and then reading it back as a full table.  This all works fine and is certainly not impossible to do.  BUT there are some considerations to be thought through:

1) IF your columns in your Assessment and Action lists will NEVER change, then this can be done safely.  If you foresee a scenario where you might need to add another column to your two sub-lists, then you have a significant challenge in that all existing records will have been "formatted" (their separations and positions) based on x number of columns, adding another will render them invalid and would need to be accounted for.

2) IF you have to perform ANY sort of filtering or analysis of the items in the two sub-lists through other means then doing so from a delimited text list will be a significant challenge.

 

So, what I am saying is to really consider this approach before committing to turning your sub lists into text instead of simply putting them into other related lists.

There are times when storing as text is perfectly fine, but in looking over your response, I have some concerns about that approach.

 

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

@RandyHayesAfter thinking it through more while sleeping last night, you do raise some valid points.

 

If I was to split them out into 2 separate SharePoint lists, is it possible to have things set up so that you only write to all 3 SharePoint lists once someone press save? Other than that one question, I will go in that direction.

 

Please give me a moment while I go and build the 2 new SharePoint lists.

Hi @RandyHayes,

 

I have the 2 additional SharePoint lists setup and ready to go. Can you please advise me how I should proceed to get repeating tables setup? If possible (to make things easy for our end users), to save everything the user should only need to press the save button on the top of the page.

 

Thank you 🙂

RandyHayes
Super User III
Super User III

@DancingCatx64 

Sure thing.  So, typically your top button would be the big save button.  

What you would do is employ the OnSuccess action of the form to then update and create new records as needed for the other two lists.

 

You will need two collections for the two galleries.  They are only needed for the purpose of allowing us to create or remove rows from the two sub galleries. 

 

Then in the OnSuccess action we will iterate those Galleries to store actual values in the two lists.

 

Let me know the names of your two new lists and then we can start building some formulas for you.

 

I'm kicking off for the evening here, but will pick up on this tomorrow if you get a chance to reply by then.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Helpful resources

Announcements
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

secondImage

Demo Extravaganza is Back!

We are excited to announce that Demo Extravaganza for 2021 has started!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Power Apps June 2021

June Power Apps Community Call

Did you miss the call? Check out the recording here!

Top Solution Authors
Top Kudoed Authors
Users online (30,554)