Better Portal Interactions
In FileMaker, if we only had list and form views for viewing data, then we’d probably be just fine. But, who wants to just get by with a minimal set of methods for viewing data? The ever valuable portal provides a wonderful view into whatever data you wish to show.
It can be related data, menu options, a list of users or pretty much anything. Especially, when using a portal as a Virtual List of something being held within a $$GLOBAL.VARIABLE.
The key thing to understand about portals is that FileMaker just provides you with the bare minimum. The level of expected user interaction just might not be there for your solution. For example, take a basic portal, select a given row and hit the delete key. What’s the result? The default FileMaker dialog. What if you’d like to run your own script when the delete key is hit?
How about that wonderful trash can icon, or any other icon placed in the first row in Layout mode. Well, you see them on EVERY portal row. Yuck! Take off that obvious UI distraction. Instead, make it show only when a given portal row is selected.
This video will provide you with all kinds of inside knowledge into how you can make your portal interactions just that much better!
Comments
Follow through on edit portal records
Hi Matt,
I thoroughly enjoyed this video. This is a very well explained, powerfull method of dealing with portals.
Would it be possible to follow through on the subject and explain how to edit a portal record OUTSIDE of the portal by loading the child::name content of the portal row into the same field outside of the portal and then comitting the changes made to it? That would be really great.
Thanks in advance.
Maurice
How would go about incorporating a filter or search of . . .
Great stuff, Matt.
How would incorporate a filter or search functionality as well in the add field above the portal in this example.
Thanks..
Dual purposing fields
It would be possible to use a global field in place of the actual related field. You would then be able to use the OnObjectSave and apply logic into the Filter option on the portal. If a match was found then the portal would reveal that match. If no match is found then you could provide a prompt to add the record or then show the Plus button for the commit.
Essentially, you can pretty much always accomplish what you want to do, it's just a matter of what combination of tools and features you use to accomplish it.
Hope that helps.
-- Matt Petrowsky - ISO FileMaker Magazine Editor
OnObjectExit
I have a portal with and OnObectExit attached. If I am in the portal and then click a button that performs another script, the OnObjectExit will not fire. In your example you explained that very nicely and I kind of understand. My question is if you do what you explained would the OnObjectExit fire before the button script runs or would there be a collision,
Cary Douglass
Your comment @ InstallOnTimer and FMGo
You made a throwaway comment about InstallOnTimer not working well with FMGo. Would you mind expounding on that? Or pointing me to some documentation? I am using this script trigger with a Go solution and there have always been some weird things that I haven't been table to track down that I now think (after your comment) might be linked to this trigger.. Thanks! Martin
Pulling data from a portal
I have a layout that is filtering a portal by the week number, and there is only one row for each day of the week - maximum of 7 records (Mon - Sun).
I would like to pull a field out for each day - I am not sure how I go about doing this. Is there a way to pull data by the row number?
Thanks,
---- Nash
There are many ways...
To solve various problems. Unfortunately, I can't fully understand what you're trying to do based on how I'm reading your question. If I make an assumption, it sounds like you want a different field to be shown based on the row within the portal?
Such as row 1 would be Sunday and you want to show the value of a given field based on it being row 1. Then on row 2 you want to show the value of a different field?
If this is the case then GetField () function will be your friend. You can dynamically reference any other field within a calculation using GetField().
Hope this helps.
-- Matt Petrowsky - ISO FileMaker Magazine Editor
Can't Download video
Seeing the error 'Sorry we're having little trouble' this error has been there for few days now .. Tried from home and work ..
Where is the error showing?
I just logged into a standard subscriber account and downloaded the video just fine. Given that videos and downloads for videos are hosted from Vimeo I can't control their network. But they are a big site and it might be an issue with your network connection? Maybe a browser caching issue? I just downloaded the videos fine.
I'm not getting any other reports about this video at this time.
-- Matt Petrowsky - ISO FileMaker Magazine Editor
Version 16
When I run this in FMP 13 it puts a 1, 2, 3 where the trash can should be and nothing in the filed above where the - + should be. Does this file require FMP 16?
Darrel Farah
Get(ActiveLayoutObjecName)
I'm testing the functions in your "Hide" trash can criteria and ran into a problem with "Get(ActiveLayoutObjectName". My test layout has several objects that all have names so that when I select one of them I should see the name in the Result section of the Data Viewer but I don't. Each object that I select, no object name is displayed. My using FM 15 Adv