Hi John,
In Event Detail Layout, in want to be able to see a list of all my contact. Then to select a contact to book an event with the selected date.
You have an idea?
Event detail an contact
7 posts
• Page 1 of 1
Posts: 6
Joined: Wed Mar 31, 2010 7:50 am |
|
Posts: 2764
Joined: Thu Nov 20, 2003 11:01 am |
Sure. You can create a portal on this layout (you may want to make the layout a little bigger first) showing all your contacts.
Showing All Contacts To do this, create a new table occurrence of your contacts table on the graph and call it "SampleEvents_AllContacts". Then relate this to Sample Events by linking the EventID with the ID in your Contacts table using the "x" operator: this kind of relationship shows all records. Now format your portal as you see fit and add a "select" button in the portal row. This button will link the current event to the contact you click on. Have this button set the event's contact ID key (the field _id_contact in our sample data) to the following calc where _id is the unique ID in your contacts field:
That if statement de-selects the contact if they are already linked to that event. Going Further: Conditional Formatting You can add conditional formatting to the portal to highlight the selected contact. Since only text-like objects can be conditionally formatted, it helps if the button you created above to select the contact was made using the button tool and that fills the whole portal row behind the contacts name. Once it does, add conditional formatting to turn it blue when...
Add the same conditional formatting calc to the contacts' name in the portal, turning the text white when the contact is selected. Going Further: Type-ahead Portal Filtering If you're using FileMaker 11 you can also easily add a type-ahead to this portal so that as you type in the first few letters of the contact's last name, the portal shows just the contacts who match what you're typing. Begin by creating the field you'll type into: create a global text field in SampleEvents called z_ContactTypeAheadGlob. Make this a text field and set it's options to Global storage. Place this at the top of your portal as shown below. Now double click on your portal of all contacts and check "Filter portal records". Click "Specify" and add this as the filter criteria:
Now filtered portals don't refresh on their own, so we'll need to add a script trigger to refresh this as you type. Create a new script called "Contact Type Ahead" with the following steps: Commit Records/Requests [] Refresh Window [Flush cached join results] Go to Field [SampleEvents::z_ContactTypeAheadGlob] Now enter layout mode and assign a script trigger to the "z_ContactTypeAheadGlob" on your layout, right click on the field and select "Set Script Triggers". Add an "OnObjectModify" trigger, and call your "Contact Type Ahead" script. That's it! Our version looks like this: Hope that helps, John John Sindelar
SeedCode |
Posts: 6
Joined: Wed Mar 31, 2010 7:50 am |
Hi john,
thanks for your help. Can you just explain how to create the "select" button in the portal row. Can you just send me your layout (my email: [email protected]) |
Posts: 2764
Joined: Thu Nov 20, 2003 11:01 am |
Sure. Use the button tool to draw a button the same size as the first portal row (not including the scroll bar). Make the button white with no borders and make its button action the SetField step I mentioned above. Then send it backward behind the contact's name. If you don't know how to do this stuff, emailing the layout doesn't really help since the layout pastes in with new stuff like this broken and you have to go in and fix it. Email me directly if you get stuck and we'll figure something out (john at seedcode.com) John Sindelar
SeedCode |
Posts: 3
Joined: Tue Feb 16, 2010 9:25 am Location: Antwerp |
Hi john using the new calendar in the complete version.
I have a question about this topic: in calender I would like to use the Mini Window Edit Appointment lay-out is that possible instead of Event Details greetings Martin Martin
|
Posts: 2764
Joined: Thu Nov 20, 2003 11:01 am |
It is, just switch it so that it is based on SampleEvents (or whatever you've renamed that to): ideally it already is as you made CalDailyAppointments your "SampleEvents" table occurrence. Then make any adjustments you need to so the scripts on that layout work in the new context.
John Sindelar
SeedCode |
Posts: 3
Joined: Sat Nov 27, 2010 7:42 am |
This button requires that a field be active. Press Tab or click in a field to make a field active.
MAC OS FM 11 Pro |
7 posts
• Page 1 of 1
Who is online
Users browsing this forum: Google [Bot] and 3 guests