1 2 3 Previous Next 30 Replies Latest reply on Nov 30, 2016 2:04 PM by burghfan

    Popover and Portal Record

    burghfan

      I am currently using a Popover Button with a portal that shows records from a "Customer" table to select a "Customer" for an "Estimate" table.

       

      I would like to add a search field to the Popover Button that would help speed up the process of selecting a "Customer"

       

      Screen Shot 2016-10-09 at 11.34.09 AM.png

       

      The portal associated with my list of customers is based on a table occurrence between "Estimate" and "Customer"

       

      Screen Shot 2016-10-09 at 11.38.28 AM.png

       

      I have tried several examples but I can't seem to make it work.

       

      I have added a Global Field labeled "Search" and added that into the Popover.

       

      And of stumped, and suggestions?

        • 1. Re: Popover and Portal Record
          David Moyer

          Hi,

          I'm a bit confused by the Cartesian X join.

          However, if you want to speed up the process of selecting a customer, check out "Auto-complete" (Data tab on the Inspector; and FM Help).

          • 2. Re: Popover and Portal Record
            burghfan

            Not sure how that would help in this instance as I am not using a popup list.

             

            I'm using this method as a potential work around to the microscopic font issue FM has with popup list when using Windows machines that have a high def screen.

            • 3. Re: Popover and Portal Record
              burghfan

              If I use the = join, then my portal is empty, possibly due to my filter

              • 4. Re: Popover and Portal Record
                philmodjunk

                The cartesian join makes since if you want to see all records from Estimate_Prospect_Popover. Assuming that this is what you want, try this:

                 

                Add a portal filter to your portal:

                 

                PatternCount ( Customer ; YourTable::Search )

                 

                If using a version of FileMaker that has this step: Refresh Portal:

                 

                Use the Inspector's name box on the position tab to give the portal an object name.

                 

                Set up the OnObjectModify trigger on Search to perform this script:

                Refresh Portal ["Portal Object Name here"]

                 

                If using an older version of FIleMaker:

                Include the global search field as a match field in the cartesian relationship using the X operator. Then use the same trigger to perform this script:

                 

                Set Field [TO8_Estimates::Search ; TO8_Estimates::Search]

                 

                to get the filtered portal to update with each key stroke.

                1 of 1 people found this helpful
                • 5. Re: Popover and Portal Record
                  David Moyer

                  hmm - for me auto-complete works on a plain text field.

                  • 6. Re: Popover and Portal Record
                    burghfan

                    No sure what I did wrong but when I add the sort step described the portal shows no records, until I start type in the search field. no matter what I type all the records show and when i delete the characters form the search field the portal again shows no records.

                    • 7. Re: Popover and Portal Record
                      philmodjunk

                      It's been a bit since I played around with this particular set up. If your field is empty, there are no matches even in a cartesian join.. I don't have time to test this at the moment, but I believe the fix is to include a second pair of fields that are never empty in the cartesian join.

                      • 8. Re: Popover and Portal Record
                        burghfan

                        Is there a better option/approach to what I am trying to accomplish?

                         

                        This is in a potential update to our existing solution. Currently we use drop down lists associated with "value lists". The problem is that several of our users have Windows laptops that suffer from the micro-scopic font bug.

                         

                        As it is now I have couple portals where I already have a filter based on a "Type" field. I have been using those to trim down the number of records required to scroll through.

                         

                        I am thinking that if I use a search field rather than scrolling through a list would be much easier and less time consuming. Scrolling through 2,000 "customer" records can be time consuming. Although in the case of the drop down list typing in the first few characters speeds that process up.... that is if you can see the records. This again has been an effect caused by the micro-scopic font bug.

                         

                        I keep hoping for a fix from FM, and then this would be a moot point, although I would like to have a working search field option. Wow sorry for being long winded.

                        • 9. Re: Popover and Portal Record
                          philmodjunk

                          Here's a demo file with a number of "enhanced value selection" techniques demonstrated. It comes with detailed descriptions of each method and since it's a working database file, you can also "lift the hood" to see how they are made as well:

                           

                          Adventures in FileMaking #2 - Enhanced Value Selection

                          1 of 1 people found this helpful
                          • 10. Re: Popover and Portal Record
                            burghfan

                            Thank you I'll take  look at those example they look very promising

                            • 11. Re: Popover and Portal Record
                              burghfan

                              Is there a way to add a second filter variable to my portal?

                               

                              My current Filter Portal is as follows:

                               

                              IsEmpty ( PRP_Proposals::g_pro_search ) or ( PRP_Proposals::g_pro_search = Left ( Proposal_Popover::Customer ; Length ( PRP_Proposals::g_pro_search ) ) )

                               

                              I tried the following;

                               

                              IsEmpty ( PRP_Proposals::g_pro_search ) or ( PRP_Proposals::g_pro_search = Left ( Proposal_Popover::Customer ; Length ( PRP_Proposals::g_pro_search ) ) )

                              & CustomerType = "Contractor"

                               

                              I also substituted "and" and "+" for the "&" none of those worked

                               

                              I would like to add a second Filter variable using a field labeled "Customer Type"

                               

                              When I use the following as my filter; CustomerType = "Contractor" then only the contractors show in the list, but my global search doesn't work

                              • 12. Re: Popover and Portal Record
                                philmodjunk

                                The expressions can get cumbersome.

                                 

                                IsEmpty ( PRP_Proposals::g_pro_search ) or ( PRP_Proposals::g_pro_search = Left ( Proposal_Popover::Customer ; Length ( PRP_Proposals::g_pro_search ) ) )

                                 

                                And

                                 

                                IsEmpty ( PRP_Proposals::g_Customer Type_search ) or ( PRP_Proposals::g_Customer Type_search = Left ( Proposal_Popover::Customer Type ; Length ( PRP_Proposals::g_Customer Type_search ) ) )

                                • 13. Re: Popover and Portal Record
                                  burghfan

                                  Thank you for the reply, however that returns the same result in the portal. I even tried adding an additional cartesian X join of ( g_Customer Type_search x CustomerType ) to my TO

                                   

                                  Doesn't there need to be CustomerType = "Contractor" some where in the expression?

                                   

                                  There are three types of Customers; "Endusers", "Engineers" and "Contractors"

                                  • 14. Re: Popover and Portal Record
                                    philmodjunk
                                    Doesn't there need to be CustomerType = "Contractor" some where in the expression?

                                     

                                     

                                    That's the purpose of this section:

                                    ( PRP_Proposals::g_Customer Type_search = Left ( Proposal_Popover::Customer Type ; Length ( PRP_Proposals::g_Customer Type_search ) ) )

                                     

                                    But if you are using a value list to specify specific values, you can simplify it to be:

                                     

                                    IsEmpty ( PRP_Proposals::g_Customer Type_search ) or ( PRP_Proposals::g_Customer Type_search = Proposal_Popover::Customer Type

                                     

                                    But I think we may need some more parenthesis here. Incorporating that change and adding some () pairs:

                                     

                                    ( IsEmpty ( PRP_Proposals::g_pro_search ) or ( PRP_Proposals::g_pro_search = Left ( Proposal_Popover::Customer ; Length ( PRP_Proposals::g_pro_search ) ) ) )

                                     

                                    And

                                     

                                    ( IsEmpty ( PRP_Proposals::g_Customer Type_search ) or ( PRP_Proposals::g_Customer Type_search = Proposal_Popover::Customer Type )

                                    1 2 3 Previous Next