People Goal 2 - Part 5: Build the main list screen - subsummary

Document created by Kedar on Jan 27, 2015Last modified by communitymanager on May 12, 2015
Version 16Show Document
  • View in full screen mode


At this point, you’ve completed the body part of your Main List layout, arranging the fields to allow the user to scan quickly through the records and find a specific person. However, when there are many records, scanning is still going to be difficult unless the records are organized in some way.


Sorting the records is a great start. Just as in a dictionary or phone book, this allows you to navigate through your found set, guessing with reasonable accuracy where you’ll find someone whose last name starts with a specific letter.  (In Goal 5, you’ll write a script that causes your Main List layout be sorted automatically whenever the user views it.)


But what if, in addition to sorting the records, you displayed the last initial as a header, similar to how contacts are displayed on iPhone? That would make it even easier to see at a glance where you are in the found set. You can do this with a subsummary part.

About subsummary parts

In a list layout like this, subsummary parts provide subheaders that help the eye distinguish groups of sorted records. In Goal 4, you’ll see how they are used for reporting as well.

How do subsummary parts work? You’ve already seen that a layout in List View repeats the body part to create the list. A subsummary part is somewhat similar. However, it only appears when the data is sorted by a certain field. In that case, it repeats every time it encounters a new value in the sorted field, creating groups of sorted records.

Below is a screenshot from the example solution comparing the subsummary part in Layout mode and Browse Mode:




Add a subsummary part that groups the people records by their last initial.




Create The Subsummary Part

First you’ll create the subsummary part, specifying “Last Initial” as the break field.

  1. Click and hold the Part tool in the status toolbar, drag it down partway into the body part, and release the mouse.
    Pic 2.png
    A Part Definition dialog window is displayed.

  2. Choose the Sub-summary when sorted by option.

    This specifies the break field.

  3. Choose the “Last Initial” field.
    Untitled 4.png
  4. Click the OK button to dismiss the dialog window.

  5. Resize your subsummary part to under 1 inch high (we recommend .625 inches).

Add a Field to Your Subsummary Part

Since the subsummary part is grouped by the “Last Initial” field, you’ll want to display that field on the part. That way it will only appear once for each of its unique values (A, B, C, etc).

  1. Choose the Insert menu > Merge Field  ⌥⌘M or Alt-Ctrl-M

    Specify Field dialog window appears.

  2. Choose the “Last Initial” field.

  3. Click the OK button to dismiss the dialog window.

    If you’d like the Last Initial field to look like the example solution, apply the following formatting:

  4. In the Inspector > Position tab > Position area, set the Width and Height to .375 inches.

  5. In the Inspector > Appearance tab > Paragraph area, set the horizontal and vertical alignment as centered:

  6. In the Inspector > Appearance tab > Graphic area, set the Line to Solid, 1 pt, and black:

  7. Select borders on all four sides (see image above, below Line).

    When you added the subsummary part, you probably lost some of the height of your body part:

  8. Resize your body part to under 1 inch high (we recommend .875 inches).


Test The Subsummary Part


  1. Enter Browse mode and make sure you are viewing all records (using the Show All Records command).

    Sort the records by your break field:
    sort by initial.png

  2. Choose the Records menu > Sort  ⌘S or Ctrl-S

    A Sort Records dialog window appears:

  3. Add the fields “Last Initial” and “Full Name” to the Sort Order.

  4. Click the Sort button to dismiss the dialog and sort the records.

  5. Confirm whether your subsummary part displays properly now that your found set is sorted by the break field.