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

How to make the repeating table in power apps?

Hello,

 

I want to make the repeating table in Power apps. I am using Gallery and trying to insert the data in SQL database I have the two tables one is the main table which is storing other form fields values and other one is for repeating table. I made the relation primary key and foreign key relation between the table. I want to insert the data in repeating table sql database. But data is not get inserted into the database. If I am opening the screen in each time it showing many-2 blank rows.

I am using below expression to submit the form where IncidentReport is collection and [dbo].[IncidentReport] is the table name.

SubmitForm(EditForm);Collect(IncidentReport,'[dbo].[IncidentReport]');

 

Below are the four fields to create the new row on the screen and binded the fields with the collection table.

Patch(IncidentReport, ThisItem,{ContractName: Contract_Name_2.Text, Position: Contract_Position_2.Text, CompanyName: Company_Name_2.Text,ContactNumber: ContactNumber_2.Text});Collect(IncidentReport,{ContractName: "",Position: "",CompanyName: "",ContactNumber: ""});

 

On form Suucess function I am using below code:

ForAll('[dbo].[IncidentReport]',Patch(IncidentReport,Defaults(IncidentReport),{ContractName:ContractName,Position:Position,CompanyName:CompanyName,ContactNumber:ContactNumber}));

 

On the same form I want to use images in repeating table. And the same screen can have multiple repeating table.  Can any one please help out on the repeating table?

I followed the below Shane tutorial 

https://youtu.be/xgznk4XlPCo

 

 

 

 

17 REPLIES 17

Hi @v-xida-msft ,

This is not working working. OnSelect property of the "New" button s not working. If I am submitting a new form it is get submitted but the repeating tables values values is not get created in the SQL database. I am using the below code, it is not allowing to add code ID or Incident_ID in this.

 

 

Navigate(EditScreen, None);NewForm(EditForm);Clear(ContractInformation);If(
   EditForm.Mode = FormMode.New,
   Collect(
           ContractInformation,
           {
            ContractName: "", 
            Position: "", 
            CompanyName: "",
            ContactNumber: ""
           }
  ))

 

 

Also on form Edit  I am not able to create a new row, filter is working fine. I am using the below code on Gallery(repeating table) Items select. Can you please advise for this as well?


 

 

If(
   EditForm.Mode = FormMode.New,
   ContractInformation,
   Filter(ContractInformation, Incident_ID = GalleryList.Selected.ID)
)

 

 

Hi @pkumar ,

Please consider set the OnSelect property of the "New" button to following:

NewForm(EditForm1);
Navigate(EditScreen);
Clear(ContractInformation);
ForAll(
          Filter('[dbo].[ContractInformation]', IsBlank(ID)),  //  modify formula here
          Collect(
                  ContractInformation,
                  {
                    ID: '[dbo].[ContractInformation]'[@ID],
                    ContractName: '[dbo].[ContractInformation]'[@ContractName],
                    Position: '[dbo].[ContractInformation]'[@Position],
                    CompanyName: '[dbo].[ContractInformation]'[@CompanyName],
                    ContactNumber: '[dbo].[ContractInformation]'[@ContactNumber],
                    Incident_ID: '[dbo].[ContractInformation]'[@Incident_ID]
                  }
          )
 )

 

Set the OnSelect property of the "Create New Row" button in your Repeating Table Gallery to following:

Patch(
      ContractInformation, 
      ThisItem,
     {
        ContractName: Contract_Name_2.Text, 
        Position: Contract_Position_2.Text, 
        CompanyName: Company_Name_2.Text,
        ContactNumber: ContactNumber_2.Text
     }
);
Collect(
        ContractInformation,
       {
         ContractName: LookUp('[dbo].[ContractInformation]', IsBlank(ID)).ContractName,
         Position: LookUp('[dbo].[ContractInformation]', IsBlank(ID)).Position,
         CompanyName: LookUp('[dbo].[ContractInformation]', IsBlank(ID)).CompanyName,
         ContactNumber: LookUp('[dbo].[ContractInformation]', IsBlank(ID)).ContactNumber
      }
);

 

Best regards,

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.

Hello @v-xida-msft ,

 OnSelect property of the "New" button, its not working. It giving

 

 

NewForm(EditForm1);
Navigate(EditScreen);
Clear(ContractInformation);
ForAll(
          Filter('[dbo].[ContractInformation]', IsBlank(ID)),  //  modify formula here
          Collect(
                  ContractInformation,
                  {
                    ID: '[dbo].[ContractInformation]'[@ID],
                    ContractName: '[dbo].[ContractInformation]'[@ContractName],
                    Position: '[dbo].[ContractInformation]'[@Position],
                    CompanyName: '[dbo].[ContractInformation]'[@CompanyName],
                    ContactNumber: '[dbo].[ContractInformation]'[@ContactNumber],
                    Incident_ID: '[dbo].[ContractInformation]'[@Incident_ID]
                  }
          )
 )

 

 

OnSelect property of the "Create New Row" button in your Repeating Table Gallery is not creating a new row it returning a delegation warning as well. 

Patch(
      ContractInformation, 
      ThisItem,
     {
        ContractName: Contract_Name_2.Text, 
        Position: Contract_Position_2.Text, 
        CompanyName: Company_Name_2.Text,
        ContactNumber: ContactNumber_2.Text
     }
);
Collect(
        ContractInformation,
       {
         ContractName: LookUp('[dbo].[ContractInformation]', IsBlank(ID)).ContractName,
         Position: LookUp('[dbo].[ContractInformation]', IsBlank(ID)).Position,
         CompanyName: LookUp('[dbo].[ContractInformation]', IsBlank(ID)).CompanyName,
         ContactNumber: LookUp('[dbo].[ContractInformation]', IsBlank(ID)).ContactNumber
      }
);

 Can you please advise for both issues?

Hello @v-xida-msft  Team,

 Can you please advise above issues?

Hi @v-xida-msft team,

I added the below code on New button but it is not get work. Can you please assist how I can insert the values into the data source when user have to submit the new form? For now I added the function to insert but in the DB null value is get inserted.

ForAll(
          Filter('[dbo].[ContractInformation]', IsBlank(ID)),  //  modify formula here
          Collect(
                  ContractInformation,
                  {
                    ID: '[dbo].[ContractInformation]'[@ID],
                    ContractName: '[dbo].[ContractInformation]'[@ContractName],
                    Position: '[dbo].[ContractInformation]'[@Position],
                    CompanyName: '[dbo].[ContractInformation]'[@CompanyName],
                    ContactNumber: '[dbo].[ContractInformation]'[@ContactNumber],
                    Incident_ID: '[dbo].[ContractInformation]'[@Incident_ID]
                  }
          )
 )

 

Hi @pkumar ,

The following formula you mentioned is used to initialize your Repeating Table Gallery when you create a new IncidentReport record:

NewForm(EditForm1);
Navigate(EditScreen);
Clear(ContractInformation);
ForAll(
          Filter('[dbo].[ContractInformation]', IsBlank(ID)),
          Collect(
                  ContractInformation,
                  {
                    ID: '[dbo].[ContractInformation]'[@ID],
                    ContractName: '[dbo].[ContractInformation]'[@ContractName],
                    Position: '[dbo].[ContractInformation]'[@Position],
                    CompanyName: '[dbo].[ContractInformation]'[@CompanyName],
                    ContactNumber: '[dbo].[ContractInformation]'[@ContactNumber],
                    Incident_ID: '[dbo].[ContractInformation]'[@Incident_ID]
                  }
          )
 )

 

If you want to patch the records in your Repeating Table Gallery back to your '[dbo].[ContractInformation]' table, please consider set the OnSuccess property of the Edit form to following:

ForAll(
         Filter(RepeatingTableGalery.AllItems, !IsBlank(Contract_Name_2.Text)),
         If(
             IsBlank(LookUp('[dbo].[ContractInformation]', ContractName = Contract_Name_2.Text && Position = Contract_Position_2.Text && CompanyName = Company_Name_2.Text && ContactNumber = ContactNumber_2.Text)),
             Patch(
                  '[dbo].[ContractInformation]',
                  Defaults('[dbo].[ContractInformation]'), 
                 {
                  ID: Last('[dbo].[ContractInformation]').ID + 1,
                  Incident_ID: EditForm1.LastSubmit.ID,
                  ContractName:  Contract_Name_2.Text,
                  Position: Contract_Position_2.Text,
                  CompanyName: Company_Name_2.Text,
                  ContactNumber: ContactNumber_2.Text
                 }  
            )
         )
);

 

Best regards,

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.

Hello @v-xida-msft ,

 

OnSuccess code working fine. But I am facing one issues. When I am editing(modifying row field value ) created row. It always creating a new row in the data source instead of updating the current field value.
Can you please advise on this? 

Hello @v-xida-msft ,

 

I am able to submit the form and update the form on SharePoint. But I am not able to add a new row on the repeating table if the form is open in edit mode. I added the form filter on repeating table Edit item:

 

Filter(ContractInformation, Fk_IR = BrowseList.Selected.ID)

 

Edit form OnSuccess

 

UpdateIf(ContractInformation, Gallery1.Selected.ID =ID,
{
    ContractName: TextInput1.Text, 
    Position: TextInput2.Text, 
    CompanyName: TextInput3.Text,
    ContactNumber: TextInput5.Text
});  

 

To add a new row

 

Patch(ContractInformation, ThisItem, {ContractName: TextInput1.Text, Position: TextInput3.Text,CompanyName: TextInput2.Text,ContactNumber: TextInput5.Text}); Collect(ContractInfo,{ContractName: "", CompanyName: "", Position:"", ContactNumber:""});

 


Can you guys please help out in this? How I can resolve this issue? 

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.

R2 (Green) 768 x 460px.png

Microsoft Dynamics 365 & Power Platform User Professionals

DynamicsCon is a FREE, 4 half-day virtual learning experience for 11,000+ Microsoft Business Application users and professionals.

Users online (862)