7 Replies Latest reply on Jun 27, 2012 1:45 PM by DouglasHilton

    FM 12 Portal Row Conditional Value List Checkbox Display Issue

    DouglasHilton

      When a portal row field displays a conditional value list as a checkbox set all rows display the checkboxes of the first portal row until the field is made active, in which case the correct checkbox set is displayed. For example:

       

      - portal Field A determines the value list displayed for Field B

      - when Field A contains "X" Field B value list items are "A, B, C"

      - when Field A contains "Y" Field B value list items are "1, 2, 3"

      - create portal row 1 and 2

      - set row 1 Field A to value "X": row 1 Field B displays value list items "A, B, C"

      - set row 2 Field A to value "Y": row 2 Field B displays value list items "A, B, C" (expected value list items "1, 2, 3")

      - click on row 2 Field B: row 2 Field B displays value list items "1, 2, 3"

      - click outside of row 2 Field B: row 2 Field B reverts to value list items "A, B, C"

       

      The radio button set format also displays this behavior but the drop-down list or pop-up menu does not. This is only a problem in FileMaker 12. I created a test file in FM 11 which displays the check box set properly. When I converted the file to FM 12 the behaviour changed.

       

      Has anyone else encountered this problem ? Any work-around or correction?

        • 1. Re: FM 12 Portal Row Conditional Value List Checkbox Display Issue
          BruceHerbach

          Is it possible to post an example DB?

          • 2. Re: FM 12 Portal Row Conditional Value List Checkbox Display Issue
            DouglasHilton

            Here are 2 sample files: FM12ValueListTest.fmp12 is the converted version of FM11ValueListTest.fp7

            • 3. Re: FM 12 Portal Row Conditional Value List Checkbox Display Issue
              BruceHerbach

              Hi,

               

              This may be a FileMaker bug.  It looks like it is creating a "master" copy of the list based on the value of the first record in the portal.  As you saw this ends up in the other portal rows until you enter Field B.  Then you see the correct list.

               

              You may want to reconsider the approch.  Attached is a version with a script trigger  on Field A that puts the user in Field B when A is modified.  This has the affect of displaying the correct list in Field B right after a change to Field A.  Well at least as long as you are in the field.  To get around this I added a calculation field that displays the result.  To make it display,  I had the calc subsitute a space for the carrige return.

               

              Here is where things could get to be dicey.  If you start with an A and enter A B in Field B then switch Field A to B and then enter 123 your real result in Field B is A B 1 2 3.

               

              Something to consider

               

              HTH
              Bruce

              1 of 1 people found this helpful
              • 4. Re: FM 12 Portal Row Conditional Value List Checkbox Display Issue
                DouglasHilton

                Hi Bruce,

                 

                Thanks for giving it a shot. I notice that in your solution the value lists for individual rows display properly when Field A is selected for the row, but that all rows change to match the value list displayed in row 1 when row 1 Field A is changed.

                 

                Doug

                • 5. Re: FM 12 Portal Row Conditional Value List Checkbox Display Issue
                  BruceHerbach

                  Hi Doug,

                   

                  The attached version uses script triggers and a global variable to display either the correct selection list for field or the calculation value for field.  It is crude, and may be far more work then it is worth to refine.  That stated take a look.  To see it work do the following:

                   

                  Click in Field A. This puts you in field B with the correct menu. The make a selection.  This commits the record and clears the display value so you now see the current value.

                   

                  Which shows the first issue with this solution.  If you selected the middle or right value,  and it is the only value it is now on the left check box.  To clear you still have to click the correct checkbox.  So it is no longer intuitive as to what/where to click.

                   

                  So going back to my first suggestion,  please report this as a bug.  Hopefully others will also report it and FMI will fix it.

                   

                  Hope this is helpful

                  Bruce

                  1 of 1 people found this helpful
                  • 6. Re: FM 12 Portal Row Conditional Value List Checkbox Display Issue
                    DouglasHilton

                    Hi Bruce,

                     

                    Thanks for the refinements. I neglected to mention the "real" issue. There are quite a few portal rows (60-70). The conditional value lists are large (16 items) and have many items in common. After the portal row value list items have been initially selected the user needs to be able to quickly scan through all rows to check for discrepancies and to make changes. Expecting them to click on each value list field to be able to see the true contents is not realistic in this situation.

                     

                    I am going to report this as a bug. In the meantime I will do my best to educate my client about the issue.

                     

                    Thanks again for your help.

                     

                    Doug

                    • 7. Re: FM 12 Portal Row Conditional Value List Checkbox Display Issue
                      DouglasHilton

                      I found a solution!

                       

                      Source of the problem: The contents of conditional value list are determined by the first record in the relationship specified in the value list definition. And, the first record is determined by the sort order defined on the relationship.

                       

                      Work-around: Ensure that the relationship sort sequence always places the records displayed in the portal first:

                       

                      - create a global field, gPortalRecordType, that allows the user to select one of the possible values for Field A

                      - create a calc field, cPortalSortOrder, on the portal record (If (FieldA = gPortalRecordType; 0; 1))

                      - define a sort on the relationship specified in the value list definition based on cPortalSortOrder

                      - define a portal filter: FieldA = gPortalRecordType