Multi Line Events

How can I show more than one line of an event's information?

The calendar supports multi-lline event displays as shown below.

Here is a brief overview of how this works and how to make use of it in your file...


The key to this mapping a field containing carriage returns to the "Summary" on your Source No X layout. (This is done in your configuration if you create new sources). Fields with returns in them are treated differently and allow for this multi-line display.

In the screen shot above we've mapped a calc field that contains a contact name, their phone number, and email address, all separated by carriage returns. The calendar will place each return separated line on its own line when displaying the event, provided the event is long enough.

(Note: Mapping a multi-line field for the summary is inherently slower than mapping a regular, one line text field. And mapping an unstored calc as the summary can be slower than that. You'll likely only see these slowdowns if you open the calendar over the internet from a hosting provider, and even then, it's not that bad, but test it on your server/host to be sure.)

If the event has no time (is an all-day event) or the tab you're viewing doesn't scale the event to its duration (as the simple views and month view don't) then we treat the display differently, replacing any carriage returns in your mapped field with " ... " and showing the entire mapped field on one line. You'll not see much of this on the month view (as the field width is so short) but you'lll see more on the Simple Day view, and hovering over the event in either view will show all of the mapped field in your tool tip.

If you'd like to try this in your deployment, create a calc in your events table that contains the information you'd like to see, and then map this field to Summary on your Source No X layout. Run the "Upon Opening" script when you're done to see your changes take effect.

Calc Suggestions

Ideally the calc you'd use for this would be indexed, but it doesn't have to be as we don't actually search on this field.

In the screen shot above you can see that some events have a contact's name as their first line where others have the event title. We accomplish this by using the List() function to build the calc we map to summary. You can see this calc in the SeedCodeData file as CalendarEvents::z_AlternateSummaryCalc which is defined like this:

List (
If ( not ( PatternCount ( Summary ; Projects::Name ) ) ; TextStyleAdd ( Projects::Name ; Bold ) & " " ) & // only show project name if it is not included in Summary
Summary ;
TextStyleAdd ( Contacts::NameFull_LastFirst ; Bold ) ;
Contacts::Phone ;
Contacts::Email ;

The nice thing about the List() function is that it separates all the field contents you specify with carriage returns without inserting any extra returns where there might be empty values. So in the calc above, if there is no related content for an event, the first thing you'll see is the event's Summary.

Changing the display

If you'd like to use a different separator between values of all day events (we use " ... " by default), edit the script "Read iCal Event by Number ( Source ; Number )". Find the comment "Summary" and edit the value we've assigned to "separator" in the Set Variable step following that comment.


The calendar places each return-separated value in the mapped summary field on its own line, providing the event is "long enough". If one of those values is itself a long paragraph the calendar won't try to split that up among multiple lines (how could it since the screen, and hence the fields on the calendar, can be any width). So if one of the lines in your mapped summary field is itself a long block of text you may only see part of the first several works: hovering over that line will, however, reveal the rest in a tool tip.

Follow us: