Version

Configuring xamMonthView

This is one of the five topics explaining the views of the xamSchedule controls:

This topic is organized in sections as follows:

  • Introduction

  • Purpose

  • Presenting Activities in the Schedule

  • Configuring the Data Source

  • User Interaction and Usability

  • xamMonthView Configuration Options

  • Related Topics

Introduction

xamMonthView is one of the five view controls in the XamSchedule family. It presents a week-based view of the calendar, in which the weeks of the month are arranged vertically going from top to bottom and the days of the week are arranged horizontally. (Figure 1)

xamSchedule Month01.png

Purpose

The purpose of this view is to provide “the bigger picture” of the activities in the schedule. XamMonthView is targeted as a viewing solution for activities in larger timescales. It supports extended user-interaction capabilities enabling users to interact with the activities in a similar way as in other views of xamSchedule. (See User Interaction and Usability below)

Presenting Activities in the Schedule

Similar to the other views, the activities are displayed as rectangles stretching through the days between their Start and End times.

Configuring the Data Source

The data for the activities and resource calendars displayed in the view is provided by an instance of XamScheduleDataManager. That instance is configured with the DataManager property of xamMonthView.

User Interaction and Usability

In XamMonthView, users can:

  • Navigate through the days and activities using the keyboard

  • Create activities with one click of the mouse:

    • by selecting time slot (via keyboard or mouse) and typing directly into it

    • by clicking the “Click to Add” prompt that is displayed when hovering over a time slot

  • Resize an activity (that is, change the Start or End of an activity) using the resize grips

  • Drag an activity from one schedule to another (that is, among different xamSchedule controls associated with the same xamScheduleDataManager)

  • Click and modify the Subject of an activity

  • Create a new activity by double-clicking a day (via the activity dialog)

  • Edit an activity by double-clicking on it

  • Navigate to an activity using the more activity arrows

  • Scroll the schedule using the scrollbar or mouse wheel

  • Delete selected activities

    • with the Delete key

    • from the Activity dialog

  • Scroll and resize the calendar’s group area

Note: because the timeslots in this view are actually days, the interactions like creating or resizing activities set the manipulated Start/End times to 12am (or whatever values are defined for the logical day offset and duration).

xamMonthView Configuration Options

  • ShowWorkingDaysOfWeekOnly enables displaying working days only (Boolean, default: Monday÷Friday). Uses the working days collection. The default setting can be changed from the WorkDays property in XamScheduleDataManager > Settings.

  • Calendar Display options – several settings managing the display of multiple calendars (similar to xamDayView)

    • CalendarDisplayMode – the available options are Overlay, Separate and Merged:

      In Visual Basic:

      monthView.CalendarDisplayMode = CalendarDisplayMode.Overlay

      In C#:

      monthView.CalendarDisplayMode = CalendarDisplayMode.Overlay;
      xamSchedule Month02.png

      In Visual Basic:

      monthView.CalendarDisplayMode = CalendarDisplayMode.Separate

      In C#:

      monthView.CalendarDisplayMode = CalendarDisplayMode.Separate;
      xamSchedule Month03.png

      In Visual Basic:

      monthView.CalendarDisplayMode = CalendarDisplayMode.Merged

      In C#:

      monthView.CalendarDisplayMode = CalendarDisplayMode.Merged;
      xamSchedule Month04.png
    • ShowCalendarCloseButton and ShowCalendarOverlayButton – control the visibility of calendar buttons

      The Overlay Button is available only in Overlay Mode and the Close button is not available in Merged Mode.

  • Visible Days – configures the VisibleDates collection

    Populate the VisibleDates collection to display particular days. In xamMonthView the view will render the weeks that contain these dates and display up to 6 weeks.

    In Visual Basic:

    monthView.VisibleDates.Clear()
    monthView.VisibleDates.Add(New System.DateTime(2010, 9, 22))
    monthView.VisibleDates.Add(New System.DateTime(2010, 9, 28))

    In C#:

    monthView.VisibleDates.Clear();
    monthView.VisibleDates.Add(new System.DateTime(2010, 09, 22));
    monthView.VisibleDates.Add(new System.DateTime(2010,09,28));
    xamSchedule Month05.png
  • ShowWeekNumbers – when True, displays the week numbers relative to the start of the calendar year (Boolean)

    This property changes the default header label of the weeks to display the week number.

    xamSchedule Month06.png
  • AllowCalendarGroupResizing – enables/disables the user to resize the calendar groups (Boolean)

    The individual calendars or calendar groups (depending of the value set in the CalendarDisplayMode property) have equal size. In case you have more calendars in one group comparing to the other, some of the tab titles may not be visible. When the user is resizing the groups, they continue to have equal size and this leads to a point where their combined size is bigger than the container and at this point a scrollbar will automatically be shown. Double clicking the resizing point will restore the initial size of the calendar groups.

    In Visual Basic:

    monthView.CalendarDisplayMode = CalendarDisplayMode.Overlay

    In C#:

    monthView.CalendarDisplayMode = CalendarDisplayMode.Overlay;
    xamSchedule monthView resizing groups 1.png

    In Visual Basic:

    monthView.CalendarDisplayMode = CalendarDisplayMode.Separate

    In C#:

    monthView.CalendarDisplayMode = CalendarDisplayMode.Separate;
    xamSchedule monthView resizing groups 2.png