I have a single Google Sheet storing 25 lessons containing assignments coded with a Lesson Number. I’d like to show the assignments for each lesson. The hard way (which works) is to crate 25 Action Texts, each of which opens a New Screen (using the Lessons sheet as source) and that screen contains inline lists which show the assignments (using Filter to only show the appropriate lesson). Works great, but I would have 25 screens to update when I want to make a design change.
Is there a way to do this with one screen? They are all the same, but the lesson number changes.
Is there a way to pass a value into the action? I tried to create a custom action which would drop a lesson number into the Users Glide table which I could then use as a filter. But I can’t see the users table and only can edit “This item” from the custom action screen.
Failing that, is there a way to copy a screen layout? I’m aware that I can copy/paste a component, but again … 25 identical screens to keep in sync is a big task.
Shows an inline list of all lessons (assuming 25 lessons are 25 different rows).
The action of the inline list item will be either show details view, then in the details view you show an inline list of assignments related to that lesson, or show new screen and point it to the relation of assignments.
Should work regardless of you using GSheets or Glide Tables to do it.
It does sound like you’re overcomplicating/over thinking this.
If the layout for each screen is identical, and the content only changes based on the lesson number, then you should only need to design a single details screen.
Could you provide a couple of screen shots that shows how your data is currently structured? Perhaps we can give you a steer in the right direction.
If I understand correctly, I should create 25 Glide Tables consisting of relations, one for each Lesson number from Lessons GSheet and then point each Action Text in the lesson list to that sheet, correct? This way, I can have one screen to maintain as well as one master lesson sheet?
Sound really smart on paper but this is new territory for me, and I’m not entirely sure how to get the Sheet Lesson items into dedicated Glide Tables. I’m poking at relations and lookups etc right now but don’t see, for example how to get LESSON1 items from Sheet into a LESSON1 Glide Table.
You definitely have my attention! I’m missing a key idea here and happy to learn more! I can’t get my brain around 2 tables to show this! Thank you! I’m pretty new but have many apps under my belt but like I said, I’m missing something basic!
Okay, so you probably won’t like my suggestion, which is to split them into two separate sheets
If you absolutely don’t want to do that (you really should), then my next question would be - how do you distinguish in that sheet between a lesson and an assignment?
For example: Row 84 has a Lesson Title of “Denial Devotional” - is that a lesson or an assignment, and how can you tell which? Is there another column somewhere that isn’t shown that provides that distinction?
You’re right. Not crazy about breaking it up but it’s not the end of the world. I would just need to be more creative in my approach to adding records. So for 25 lessons you’re suggesting 25 Glide Tables?
As for your other question a “lesson” is a container. Everything in the “Lessons” table is essentially an assignment (I should rename it to assignments). The Type field describes the type of assignment (TEXT opens a details view, LINK opens a browser link and EMBED opens a web view for the link). The “Lesson Number” field tells me what Lesson it belongs to.
No, no, no.
I’m suggesting two sheets/tables. One for your Lessons, and another for your Assignments. Here is how I would set it up:
Lessons: should have a minimum of two columns
– Lesson Identifier. This can be anything, as long as it’s unique to each lesson. Lesson number maybe.
– Lesson description
– Lesson Identifier: this should be the same value as is used in the Lessons table, so that each assignment can be directly liked to its parent lesson
– Other columns as required
In your Lessons table, create a multi-relation column that links the Lesson Identifier to the Lesson Identifier in the Assignments table.
Now, display your Lessons as a single Inline List. This can either be using a List Layout screen, or an Inline List on a details screen. Either way works.
The default action on each item in your Lessons list will be a Show Details screen for that Lesson. On this screen, you can include an Inline List, and the source for that should be the multi-relation column. This will give you a list of all assignments associated with that lesson.
In terms of dealing with the different assignment types, you can use a single compound action with multiple branches. eg. If type is TEXT then Show Details Screen->This Item, else if type is link then open link, etc…
Wow… this sounds really slick. So in theory will this allow me to have one Screen? Or will it be one screen for each lesson? This workflow sound amazing, but the last mile is whether or not I will have a lot of glide screens to change if I want to update the screen design.
Wow! OK, so you helped me identify a learning gap. I thought that things like Relations could only be used for Glide Tables. I didn’t realize they could be applied to GSheets! I applied this to my GSheet (since all my data was there) and set up the lessons/assignments tables and now I have one screen that I can edit for all lessons! AWESOME! This is really pretty cool! Thank you!
Now, my last mile… In the detail view, I’m using inline lists to show the assignments and it’s working really great! However, I would like to show a text header for each Lesson along with the inline lists (assignments). So I have a HEADER type in assignments with that text, but when I try to access it in the screen, I can’t get to it. I can see the “raw” columns and not the data in the multi relation column: