Calendar fields show events in a calendar rather than in a list. The four views differ only in how much they show at once, and they share the same settings, so a form can offer the same events as a month grid on a desktop and as an agenda on a phone.

  • Monthly Calendar - A full month as a grid.
  • Weekly Calendar - One week, laid out by hour.
  • Daily Calendar - A single day, laid out by hour.
  • Agenda Calendar - A running list of what is coming up, which reads best on a narrow screen.


All four share the settings described in Common Field Settings, and their conditions work as described in Field Conditions.


Settings

Calendar Date - The date the calendar opens on. Leave it blank to open on today, or use a date, a {field} reference or a [variable] to open on a date the record or the form supplies.


Calendar Events - The events to show. Each has a Date, a Description and an ID that identifies it. Events can be typed in, but on a real form they come from data - see below.


Reacting to the calendar

A calendar can hand off to a Multi-Action field, which is what turns it from a display into something people work in. Each callback sends a value that the Multi-Action reads as [DATAVALUE].


Date Change Action - Runs when the user moves to another month, week or day, with the new date as [DATAVALUE]. Use it to load only the events for the period being looked at rather than everything at once, which matters on a calendar covering years of records.


Event Click Action - Runs when an event is clicked, with that event's ID as [DATAVALUE]. This is how clicking an event opens the record behind it or shows its details in a modal window.


Event Add Action - Runs when the Add button is clicked on a date, with that date as [DATAVALUE]. This is how a calendar takes new entries: open a modal window with the date already filled in, let the user enter the rest, and save it as a record.


Together these three make a calendar that reads, opens and adds events without leaving the form.


Where the events come from

Two ways, the same as for the Locations Map.


The first is the Dynamic Source on the Calendar Events list, using the DMGETEVENTS variable. It works like DMGETOPTIONS but is shaped for events, returning one per record from a search:

[DMGETEVENTS(123|0||EventDate|Description|RecordID)]


The DMGET variables section covers each argument in full.


The second is a Data Source field. Add a Data Source to the form, point it at the query or data that returns your rows, then bind the calendar to it: choose the Data Source Field, then say which of its columns is the Date Column, the Description Column and the ID Column. Because a Data Source is fetched once and shared, the same rows can drive the calendar and a chart or a table beside it without the search running more than once. The Data Source Field topic covers setting one up.


Colors

Each view has its own set of color settings, all of which fall back to the site's theme when left blank.


Header BG Color and Header Text Color - The band across the top of the Monthly Calendar carrying the month and its controls.


Day Header BG Color and Day Header Text Color - The row of day names, on all four views.


Hour BG Color and Hour Text Color - The hour labels down the side of the Daily and Weekly calendars.


Add Button BG Color and Add Button Text Color - The Add button shown on a date, on all four views.



Show Dates As (Agenda View)

The Agenda Calendar lists upcoming events grouped by day, and Show Dates As chooses how each day is labelled. Day headings is the original look: a heading bar with the date above that day's events. One date badge per day replaces the bar with the same calendar badge the Date Badge field draws, a band with the month, the day in large type and the weekday beneath, and lists the day's events beside it. One date badge per event puts a small badge in front of every event instead, which reads well when the list is short and every event stands on its own.

Badge Size sets the width of the badge in pixels, from 36 to 120, and appears once a badge option is chosen. The month band takes the Day Header BG Color and Day Header Text Color from the Calendar Colors section, so a calendar that already has its colors set keeps them. Clicking an event, and the add, edit and delete buttons, work the same in every mode.

The per-day option suits an "Upcoming dates" tile on a dashboard form, where a Flexible Columns field in its Grid layout holds the calendar beside other tiles.




Date Badge

Shows one date as a calendar graphic (month band, day number, weekday) with a description beside or above it, for meeting invitations, event notices and deadlines. It can run an action when clicked.


The Date Badge shows a single date the way a page-a-day calendar does: a coloured band with the month, the day in large type and the weekday beneath, with a description to the right or below. It is a display field for announcements and invitations, such as a notice to parents about a school event, a meeting invitation or a due date on a dashboard tile. Readers cannot change the date; to collect a date from the person filling in the form, use a Date field instead.


Date - The date to show. Enter a date such as 9/15/2026 or 2026-09-15, a {field} reference to take the date from another field on the form, or a [variable] to take it from the record. While you design the form a blank date shows today's date so you can see the badge; on the live form a blank or unreadable date shows dashes in the month band and a question mark for the day.


Description - The text beside the badge, usually the name of the event or meeting. {field} and [variable] tokens are replaced when the form loads.


Details - An optional second, smaller line under the description, such as the time and place.


Run an action when clicked - Turn this on to make the whole badge clickable. The same action settings as a Button appear, so the badge can open a web link, open a record, start an E-form, run an Action Set, run a search, open a modal window and so on. Leave it off for a badge that only informs.


Layout - Badge beside the text puts the calendar graphic on the left with the description to its right. Badge above the text stacks them and centres the description underneath, which suits a tile in a grid.


Badge Size - The width of the calendar graphic in pixels, from 40 to 200. The month, day and weekday text scale with it.


Show the weekday and Show the year - Add the weekday under the day number, and the year under that. The weekday is on and the year is off to start.


Month Band Color - The color of the band that carries the month. Leave it blank to use the site's theme color.


The badge also follows the common Fonts, Colors, and Borders settings: Color sets the day text, Background Color fills the calendar graphic, Border Color outlines it and Rounded Corners sets its corner radius. Field Alignment places the badge at the left, center or right of its space.


To show a date that changes while the form is open, point the Date setting at another field with a {field} reference; the badge follows that field. The badge's own date is available to other settings the same way: a reference such as {Event Badge}, using the badge's Field Name, gives the date it is showing, so a click that opens a web link can pass the date in the address, and a label elsewhere on the form can repeat it. When clicking is turned on, a Trigger Field Action aimed at the badge runs its click action, the same as clicking it.