Hi, how can I have pannel tab like this on my list view?
You cannot mix List View like that. You can, however, have a Form View with portal(s).
NOT in List View.
so please give me advise and I want to have a button if I press that button
I see that right panel.
Study this help topic ("Working with popovers on layouts"):
FileMaker Pro 16 Help
(also available in many languages)
IF you insist on a List view, you can add a Popover Button) to display a floating popover when the button is pressed.
Search this forum for "popover" for additional advice.
Using popovers in FileMaker Pro | FileMaker
When I look at the picture that you posted I see a list of Contacts on the left and Contact details on the right in the panel.
The challenge begins with the FileMaker rule that a List view layout cannot have objects in the layout Body other than the list. The easiest way to display the Contact detail is to use a button with a popover, which is why you received the suggestions above.
The other method is to use a Form view layout. Normally FileMaker won't let us place a list of Contacts on the layout and have a panel for that Contact's detail on the right side of the panel. We can put a list in a portal but probably you have found that if you have a Form view layout created from the context of Contacts, you cannot create a portal on that layout that contains Contacts because it is not a related table. The solution is to trick FileMaker by creating the layout from the context of another table. This gets a bit complicated but once you understand the technique it will be easy.
There are at least two possible solutions.
Option 1. One method is to create a separate utility table for this purpose. I have a table called "Selector" that I use for a variety of purposes. This is a type of table will seem a little strange when I describe it but the purpose will become apparent below.
This table will have only one field, and also only one record. It has fields that are defined as the "global" type in Manage --> Database when you create a field. Global fields have one value no matter how many records there are in the table. The value of the field applies globally to the application. For now, the table will have only one field that will contain a Record ID number. The field should be defined as a number field, and when setting up the options for the field, check the box for "Global Storage." Since the value of this field is the same for all records there is no need to have more than one record. Put any number in this field, like 100.
Next, create a new field in the Contacts table. We will call it SelectorID (or whatever you like). It also will be a number field with Global storage. Put the number 100 in that field. Now create a relationship between this Selector table and your Contacts table. Drag a line between the Record_ID field in the Selector table and the SelectorID field in the Contacts table. Click on the little box with the equals sign to define the type of relationship.
Now we may create a new layout from the context of Selector even though the layout will not show Selector fields When you click on the button in FileMaker to create a new layout there is a selection drop-down for "Show Records From." Choose Selector.
Next, put a portal on the layout. FileMaker will ask you to select the table for the related records, and then choose Contacts. When you finish the portal it will show a list of all your Contact records because every Contact record has an ID value that matches the Selector ID value (a global field is the same for all records so every Contact record will match).
Last, we need to create the panel you want on the right side of the screen. I see from your picture you want to click on a name on the list and have that Contact display in the right side panel. For this we need another technique. We can create a second portal. This is also a portal of Contacts but this portal has only one row. Put the Contact detail information (picture, etc.) on this portal. Now all we have to do it tell this portal which record to display. We want a script that will be triggered by the user clicking on a name in the left portal list. The script will store the Record ID for the Contact highlighted. First we need a place to store this number, so create a field. I usually put this in the Selector table. Let's call this field SelectedContact. This is a global field like the other. The script is simply a Set Field command that takes the Contact ID from the highlighted person in the portal list and puts in storage:
Set Field [ SelectedContact ; Contacts_ID ]
Refresh portal [ ] #insert the name of the right side portal so it refreshes and displays the change
We want to trigger this script whenever a user clicks on a portal row. In layout mode, click on the portal. Then right-click and select "Select Script Triggers." Check the box for OnObjectEnter and tell FileMaker to trigger the script above.
Next, we need to filter the right portal (the Contact detail) to display only the record that has an ID matching this stored value. This can be done in the portal filter setup, specifying that the portal displays only the Contacts where the value in the Contacts_ID field matches the value in the SelectedContact global field in the Selector table. As an alternative you may also create a second table occurrence of the Contacts table and define a relationship filter that does the same thing. A portal filter is a tiny bit slower but has the benefit of a less complicated Relationship Graph.
That took a while to explain. I would point you to online resources for this but this technique is not covered very much. As you can see the concepts are simple and the script is only two lines. There is a negative to this method. The layout is done from the context of the Selector table. There are a few things in FileMaker that rely on context and for them we need to create an alternate method. For example, the Go To Related Record function (GTRR) is used often in FileMaker to take us to a new layout that displays related data (for example, purchase orders for a Contact). Because since this layout is created from the context of Selector, the Purchase Order table is not related to this Selector table and GTRR will not work. Instead, we would create a script that would open a Purchase Order layout, enter Find mode, then insert the SelectedContact number, then complete the find. A little more complicated but not too bad.
There is another way to trick FileMaker to display a portal list. This method is pretty well documented. It's called a self-join, where the Contacts table is related to another table occurrence of the Contacts table. Then we can create a portal of Contacts because that table is a related table. Look up how to create a self-join. After creating the second table occurrence and the relationship, it works similarly to the above method.
I like Option 1 because it is less likely to cause record locking, where FileMaker prevents users from modifying a record because FileMaker thinks that record is being used by another user. I also like using the Selector table to hold the record ID of whatever the user is doing. That way if the user navigates to another layout and then comes back, the Contacts layout will still display the chosen record as it was before.
I hope this helps.
Hi, How can I fix popup like left at the picture? As you know popup is auto-sizing and move to up and I don't want this I want to have pop up like the picture.
You can size the popover as needed. If you are using FMPro16, you may also consider the Card Window, you can size and position as desired.
But As I said it's open at up of the window.
You could always put in a product idea so that FM Inc can make it work that way just for you.
I suppose part of the issue is that we only see the end result. Where is the button? What do you want the layout to look like when the highlighted section is not visible?
Either way I think a popover is the better idea for this.
Also the same idea as your other topic: You can use a web viewer with JS and HTML to view and edit your FM data.
aliabbassipro, I don't know what you mean. Your original question said that you wanted to create a panel on the layout. Now you use the word popup. There is a FileMaker layout object called a popover. A panel is not a popover, and I've never heard of a popup. Please explain what you want.
With portals you could do this very quickly - portals can express lists.
A popup is a field type similar to a dropdown. Certainly seems like the
wrong use of the word.
bigtom, good point. I didn't think about that since a popup was so out of context to the attached picture and request. Now I'm thoroughly confused.
I've done this on a list view with a popover that is off the right hand side of the screen and if you size it and anchor it correctly it looks like a panel on the side. I got the technique from this demo.
Can't remember where I got the demo from but if I remember I will post who it is so they get full credit but here's a demo of using popovers as a side panel in list view.
I create something like you thanks man and now how can I have right panel in picture?
Too bad you don't want to listen to the fact that FM native can only get you part of the way there especially if you must use list view only.
There have been some excellent suggestions in this thread from some people with way more patience than me.
You should try at least some of what has been suggested...Is there an echo in here again?
Most of us know what we know because we take the excellent suggestions by others and (using a copy of our solution), get in there and test and play and experiment and figure out few things. We do not have your file (nor should we do the work for you). You may need to learn-by-doing, as many of us have.
For what it's worth, the Contacts demo included with FileMaker does this, but to the left, not the right. That would be an easy change. Good luck!
Did you download the demo? The entire point of the demo was it showed you how to have the panel you wanted.
Yea Sir, But as you see in the picture I have two panels and the "Right panel" must always show the "Left Panel" as like as your demo, your demo is great and help me to create it (left panel) but now how can I create the (right panel) must always show?
Note: always show means I don't want a click to any record it must always active look like the picture.
It has already been suggested that "always show" would be a Form View with a portal on the Left "panel" in FileMaker Pro. You cannot have a List View with a right "panel" as "always show" - you can have a popover, but that is not "always show". You can have a Card Window (floating above the List View), but that also goes away when you need to interact with the data in the left "panel". FileMaker Pro does what it does.
Or push your data to a Web interface (custom web publishing) and you can do whatever you want.
The way you stated that Beverly gave me a thought. What about two side-by-side portals? I've never done it, don't know that I've ever seen it, and I'm not sure it would accomplish what he is after, but just kind of an odd thought that I figured I should throw out there just for consideration.
ABSOLUTELY! He doesn't want to "click" anything. The 'right side' can be plain or another portal. But all on a Form View layout.
My long post above gives him a step-by-step on how to put two portals on a Form layout. I'm a bit frustrated that I took the time to write out the details and he has apparently chosen not to read it.
I'm confused. Your picture shows a list on the left (left panel?) then a detail popover on the right (right panel?).
The demo I uploaded is exactly the same. If you have an onrecordload trigger you don't have to click anything. Obviously to bring up the details from another record on the list you would have to click. But yeah I don't see the difference between the picture you posted and the demo I uploaded.
So simple and very effective! (I think I like it better without the extra gray panel on the rhs but fun to play with)
I use a portal to my project and set relation to himself "customer X All_customer".
all of the records in button is from "All_customer"
I put a button on my portal records show related record in new card window but it shows me only first record on the portal in new card record.
where is my issue?
Form View, use slide control and inside the portal .
Assign a name to each slide, and call it from the buttons aligned to the right, using function go to object.() script for the buttons.
If you look closely at the first screenshot in this post, you'll notice that the data is in Arabic, hence the whole interface needs to be switched over from "left to right", to "right to left" ;-}
I didn't look that closely, when it wasn't immediately legible, I just figured a font was chosen to not display actual data. I'm kind of curious how (or if) they solved their problem. When I get some time, I'm really curious to try two side-by-side portals that fill the layout that would accomplish that view. Might be a nice presentation for someone.
Retrieving data ...