cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
crjohnson82
Level: Powered On

Filter two forms using one Gallery

I am making a repeating table form. When an item is entered,  it creates and entry in the master list and multiple entrying in the detail list.

 

I would like to make another screen that shows a gallery ( MasterGallery) with two edit forms, that displays the editable items when MasterID = ID

 

I was able to display Gallery to Form1 using  MasterGallery.Selected, but I can't figure out a way to connect Form1 to Form2. 

 

Please Help....

1 ACCEPTED SOLUTION

Accepted Solutions
Community Support Team
Community Support Team

Re: Filter two forms using one Gallery

Hi @crjohnson82 ,

Do you want to display multiple Items from your second table within the Form2 (Edit form)?

 

If you want to display multiple Items from your second table within the Form2 (Edit form), I afraid that there is no way to achieve your needs in PowerApps currently.

The Edit form control in PowerApps could only be used to display single one record within your data source, it could not be used to display multiple items.

 

As an alternative solution, you could consider use a Gallery control to achieve your needs instead of the Form2. On your side, you could add a another Gallery within your screen, and configure it as Editable table.

I have made a test on my side, please take a try with the following workaround:

Add another Gallery within your app (instead of the Form2), then configure it as a Editable table. The screenshot as below:

  10.JPG

 

11.JPG

 

12.JPG

 

13.JPG

Set the Items property of the another Gallery to following:

Filter(secondDataTable, ID = Gallery.Selected.ID)

Add appropriate controls (e.g. Text Input controls, DatePicker, Toggle, ...) within above Gallery to list the column values in your second Data Table.

Add a "Check" icon within your Gallery, set the OnSelect property to following:

Patch(
secondDataTable,
ThisItem,
{
Column1: TextInput1.Text,
Column2: TextInput2.Text,
Column3: TextInput3.Text,
...
}
)

Add a "Remove" icon within your Gallery, set the OnSelect property to following:

Remove(secondDataTable, ThisItem)

The sample app, please check the attached .msapp file.

 

More details about configuring a Gallery as a Editable table, please check the following video:

https://www.youtube.com/watch?v=O2WqhRTUhyw

 

Please consider take a try with above solution, then check if the issue is solved.

 

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.
18 REPLIES 18
jhall
Level 8

Re: Filter two forms using one Gallery

I'm slightly confused on what you're doing because you stated you're creating a MasterItem record and then multiple DetailItem records.  So 3 records in 2 tables?  One Master and two Detail?

The easy answer is that your first Form is linked because it is directly tied to your .Selected property (which I'm assuming is actually your MasterItem record).

What I'm assuming you're looking for is a way to retrieve the record you want to edit from the Detail table(s).

In that case, you need to probably take as your Form's DataSource similar to First(Filter(yourDetailTable, yourID=MasterGallery.Selected.ID)).  You want to get the first record from your Detail table and link that to your Form and open it as an EditForm().  Similar scenario for your 2nd (assuming I was correct in my first paragraph) by doing a Last() vs. a First().

Does that fit your scenario or am I confused?  Smiley Very Happy

crjohnson82
Level: Powered On

Re: Filter two forms using one Gallery

@jhall 

 

On Screen:

MasterGallery

MasterList (Form1) -

DetailList (Form2) -

 

1) MasterGallery to Form1 

2) Form1 to Form2 ( show items when MasterID = ID)

 

When I click Item in MasterGallery, I want Form1 and Form 2 to shows items when MasterID = ID

 

Does that make sense?

jhall
Level 8

Re: Filter two forms using one Gallery

I think I get it, but just to be 100% clear.  The MasterList is showing the fields/record from the same source as your Gallery, correct?  So that one of course works fine if you link the Form1 source to be the .Selected property of the Gallery.  The second one is the one where you actually need to query/filter to get the record you want from a different DataSource/Table, correct?

If that's correct, then the method I explained above will work for Form2.  You just need to set the DataSource to point at your secondary Table and the Item to be similar to: First(Filter(secondDataTable,ID=Gallery.Selected.ID)).

From innermost function to outer, the ID is just whatever your key matching ID is that I assume you are writing to your Master/Detail tables at creation.  The secondDataTable is just the name of your other list (e.g. SharePoint) where you created the item Detail record.  The reason we need to do a First() function is because PowerApps returns a Collection from the Filter() function.  If there's always (at most) one Detail record, then this will work fine. 

If you're ever going to have a scenario where the Details record wasn't created before we get to this screen, then you'll have to do an if() statement somewhere along the line (e.g. OnVisible) to create this record first or to change the settings on your form to create a record vs. editing one (e.g. NewForm() vs. EditForm()).

crjohnson82
Level: Powered On

Re: Filter two forms using one Gallery

First(Filter(secondDataTable,ID=Gallery.Selected.ID)). WORKED.. Thanks alot..

But it only shows one item...

In picture, MASTERID:36 has 2 items. When I click on the Gallery Item, ID: 36, I want to see both entries in Form 2.
(if its 10 items, I need to display all of them)....

Hope this makes sence. Capture.PNG

jhall
Level 8

Re: Filter two forms using one Gallery

Yes it does.  So, you have some UX choices to make here.  

Are you thinking you want to edit the table of Detail items like you have them (e. g. like an Excel table)?  So that the person kind of goes along the row/column to edit both simultaneously?  Or do you want them to select which detail item they want to view/edit (e.g. Dropdown) which would then be opened in the Form alone?

crjohnson82
Level: Powered On

Re: Filter two forms using one Gallery

yes. I would like to for them to edit the table of Detail items like I have them (e. g. like an Excel table

jhall
Level 8

Re: Filter two forms using one Gallery

The issue will be that there isn't a default control that does this (to my knowledge).  A DataTable control will give you what you're looking for out of the box per "display" but you cannot edit anything.  You'd need to select one and then hit "edit" on a button or other object to then open a form (if you used a DataTable control).

You could create Forms for each entry, but you'd need to have these defined and listed up the max # of Forms you think you'd need (X entries).  Then you'd align the Forms to look like an Excel sheet (e.g. remove labels/errors/required, shrink fields, line them up in a single row, etc.).

Alternatively, you could create a "pseudo-form" completely from scratch that looks like an Excel sheet and is infinitely scrollable (doesn't matter how many rows exist) using a Gallery Control.  To do this:

  1. Create a new blank Gallery and link it to the same Filter I had above but w/o the First() function.
  2. Select your Gallery
  3. Insert a Text Input field.
  4. Link the field to the first value in your List (e.g. Title)
  5. Lather/rinse/repeat for each field using steps 2 & 3
  6. Line up your fields all next to each other and resize your Gallery so that it looks similar to an Excel Sheet.

At that point, you again have some UX decisions to make.  You can have the Gallery Text Input items update via the OnChange event (not recommended) or set a Boolean via the OnChange that warns the user they need to Save their changes and asks them to hit a save/cancel.

If they Save, then you'd take the values in each field and use the Patch() function to update them to your SharePoint list.

This is much more manual than using a Form of course, but you can control formatting more easily.

jhall
Level 8

Re: Filter two forms using one Gallery

As you have me thinking about it, you could even do a pretty slick UI that "appeared" to be an Excel style list using a DataTable, but it would be a combo of disabling/enabling (e.g. DataTable.DisplayMode.Disabled) the DataTable and Hiding/showing a Form on top of the DataTable.  Then when they're done having them click a save/cancel icon and it would submit the changes, hide the form and re-display the DataTable.  You'd need to do some work on figuring out the placement of the form based upon the Row and some math on the Y location value of the Form, but it definitely could be done and would look like a truly editable DataTable control.

crjohnson82
Level: Powered On

Re: Filter two forms using one Gallery

Ok. I'm trying the first method.  It still only shows one item... Maybe I missed a step Capture.PNG

Helpful resources

Announcements
firstImage

Watch Sessions On Demand!

Continue your learning in our online communities.

SecondImage

PowerApps Monthly Community Call

Next Wednesday, August 21st at 8am PDT

Top Community Contributors for July 2019

Top Community Contributors for July 2019

Let's thank our top community contributors

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

FirstImage

Power Platform World Tour

Coming to a city near you

thirdimage

PowerApps Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

FourthImage

Join PowerApps User Group!!

Connect, share, and learn with your peers year-round

FifthImage

Dynamics 365 and Power Platform April 2019 Release notes

Features releasing from April 2019 through September 2019!

SixthImage

Power Summit Australia 2019

August 20-23rd 2019

Users Online
Currently online: 213 members 3,588 guests
Please welcome our newest community members: