Passing data from one screen to another

I have a screen with a List object that when I click on a record I want it to navigate to another screen (have that figured out) but I want the values to show from the record that was clicked on the prior screen so that the record can be edited. What am I missing? (I'm sure a formula/filter)...currently when I click on a record I just see the detail editable form without the values.

Thanks

Hi MJ :slight_smile:

When you create a List object, you can easily add a details screen by checking this box:

This will create a details screen that users can navigate to by clicking on a row, and sets up the list to pass in THISROW() to the input row of that screen. You can also manually this, if you already have a list and details screen created:

If you don't want to pass in the entire row and instead just particular values, you would specify which column you'd like to pass into a specified screen variable:

Screen Shot 2021-05-14 at 8.14.54 AM

Hope this helps! Let us know if you have any other questions. :honey_pot: :honeybee:

@Alyssa , @Pankaj , @aj ...So I picked what seems to be a challenging first project due to having many check boxes in my app and using an architecture that traditional enterprise software would use with Audit and History thanks to @DanielTet 's video series ...so my dilemma with the list object is that all the checkboxes are recorded / stored in a "join table" .. So most of the questions are in the incident table but the check boxes for body part are stored in Incident_BodyPart and check boxes for injury type are in Incident_InjuryType .. So when you click on a row in the list Object it takes you to a screen where you can edit the incident. I need to have the values that were entered, checked originally and I'm having trouble figuring it out. I did what you suggested and added a list object and checked the add detail screen. Then on the detail screen I was able to copy and paste all the check boxes from the other screen but now I'm stuck figuring out how to make the checkboxes that were checked show up for the list row that was selected.

List Screen:

Edit Detail Screen: 1. - Incidents Table 2. Incident_Bodypart table 3. Incident_InjuryType table

Hello :honey_pot: :honeybee: coders!

I have a scenario where data, when entered originally is stored in multiple tables. So when editing or managing a row of data this becomes complex, at least to me.

I've created a List Screen and when I click on a row, it then takes me to the detail screen but not all of the data is displayed as entered. The reason being is that there are 3 tables involved. Is this possible?

Here are some visuals to help you see the bigger picture. You'll notice many checkboxes.. Section 1 is in one table , section 2 , Section 3...

Hi @MJ :honeybee:

You can have multiple tables that populate data in a details screen, as long as each table has a unique identifier that associates the data in each table to the given row (i.e. a column that contains a rowlink, perhaps in your case an Incident ID or something similar).

This means that when you write data to each of these tables (from your form), you'll want to ensure that you're writing that unique identifier value to the table for each item. This is how your tables would look:

You have your incidents table with data associated to the incident:

Then you have your BodyPart table (or InjuredArea in my example), with a first column that's a rowlink to the Incident table):

And then a InjuryType table, also with a column formatted as a rowlink to the Incidents table:

With this set up, you can set up a details screen that refers to an input row, and each checkbox would refer to the same incident ID to see if it's marked True or False. Here's how I set it up:

I have a data cell at the top which is called $[InputRow], which is an editable rowlink to the Incidents table:

The first section displays the data from that input row, by referring to the columns:

And the next two sections use FINDROW() to match the toggle to the particular incident ID.

Here's the second second, using FINDROW() in the InjuredArea table:

And the third section using FINDROW() in the InjuryType table:

This is how it looks in action in the app:

Then going back to your lists screen, you would follow the steps I provided in this reply to pass in THISROW() to the details screen.

Hope this example helps! :slight_smile: :honeybee:

Hi @Alyssa - What needs to happen on this automation from clicking on the list item to the detail screen?:

my tables look like this...There is a row for each bodypart or injury and ties it back to the incident.:

What I would like to happen is when the Incident is clicked within the List object and it takes you to the detail screen that it populates the checkboxes that were previously chosen... this is an edit screen for the Safety Manager to update / edit after more facts are known. The Radio button doesn't seem to populate even though the data is in the Incidents Table.

Thanks!

@Alyssa - I think I get it..I figured out the Radio Button after I read your reply. :grinning:

Now it appears from your post, each and every checkbox needs to have the FINDROW formula looking back at the Input Row that = the Incident ID ... (talking my way through it) :speaking_head:

We need to find an easier way to do many checkboxes..its been a very good exercise... :weight_lifting_man: :running_man:

@Alyssa - This Formula didn't work, unfortunately

Hi @MJ ,

The syntax you'll want to follow as shown in my reply is:
FINDROW(TableName, "TableName[Incident ID]=$[InputRow]")[ColumnName]

Meaning your formula would look like:
FINDROW(Incident_BodyPart, "Incident_BodyPart[Incident_Id]=$[InputRow]")[Head]

Hope that helps clarify! :slight_smile:

@Alyssa - I wish that it worked, but it doesn't - Do we need an IF statement ? So sorry. :confused:

This is the exact syntax I used: =FINDROW(Incident_BodyPart,"Incident_BodyPart[Incident_Id]=$[InputRow]")[Head]

Head is not the Column name. It is the Toggle name and it is the Value that resides in the [Body_Part] Column in Incident_BodyPart

But this did not work either: =FINDROW(Incident_BodyPart,"Incident_BodyPart[Incident_Id]=$[InputRow]")[Body_Part]

I get the hollow blue dot...

The Logic in English is:

The Incident_Id in the table Incident_BodyPart must equal InputRow (Incident_Id is a Rowlink in the Incident_BodyPart Table) AND the Body_Part in Incident_BodyPart must equal "Head" If that is True Then Check the box (Body_Part is a Rowlink)

  • the Incident_BodyPart Table is a join table linking Incidents Table to BodyPart Table - That is why both columns are RowLinks.

Hi @MJ, thanks for sharing your builder journey with us! We want to make sure you’re supported, and the team is going to be in touch shortly to provide best practices to help along the way. Stay tuned to hear from us!