Welcome, Guest  :: Login 

ScheduleSet.Calendars Namespace

Roster Component

Calendar component for displaying events divided into categories. The date is displayed at the top row, categories one below another in a grid.

Roster Anatomy

Header - can contain some text and an icon. Header can be hidden. The appearance can be set through its own style properties.

Row Header - displays name of the category. The appearance of the Row Header can be set through its own style properties.

Column Header - displays the date. Column Header appearance can be set through its own style properties. Each week day can have its own style defined.

Grid - the appearance can be set separately for normal days, selected days and holiday dates. Selected dates are defined through the SelectedDates collection, holiday dates through HolidayDates collection.

Footer - can be hidden. It can contain some text, usually today's date, which can be used as a button for selecting today's date. The appearance can be set through its own style properties.

Today's date can be highlighted and has its own style definition.

Roster Appearance

Roster provides rich style hierarchy for setting the desired appearance. It allows to define style for each individual part, including Header, Footer, Row and Column Headers. Days have one common style and multiple style options for defining special appearance, such as selected days, holidays, days of week, days with special events etc. The space between days in a grid can be set with CalendarGap property.

Several predefined styles are available in designer with possibility to be easily turned to different color scheme with the ThemeStyle setting. The Theme Style allows you to update the color scheme of all the styles by simply dragging a slider in a designer.

Individual dates styled

It is possible to set even the apperance of individual days / categories using the DateItems and DateItemStyle definitions. Each day in every category can contain multiple events defined as DateItem structure. DateItem definition consists mainly of date, category and text displayed in a tooltip. DateItem can have its style - either it can use one of styles defined in DateItemStyles collection (StyleName property then contains the name of predefined style) or it can have its own style defined (then UseLocalStyle property must be set to true). With Calendar.ShowDateItem property set to true the image or text abbreviation can be displayed directly in the day cell.

The date can contain multiple DateItems. When the items are of different appearance, styles are combined when possible, so for example a red border and a blue background can be displayed at a time.

Reccuring events and events lasting more than one day are not supported at this version and must be handled manually.

Data binding

DateItems collection can be filled using data binding. After specifying necessary DisplayMemberDate, DisplayMemberCategory and DisplayMemberText members any DataTable or object collection can be bound to calendar. Dates are then populated with events from the data source. Data binding would not be complete without having the possibility to style the items - this can be done with setting the DisplayMemberImageIndex and the DisplayMemberStyle properties.

Date range

The range of displayable dates can be set through MinDate and MaxDate properties. The information about currently displayed range is always accessible in FirstVisibleDate and LastVisibleDate properties.

The initial setting of first displayed date can be done with ShowMode property. ShowMode.MinDate option shows the beginning of the date range, while ShowMode.MaxDate shows its end. ShowMode.Today sets actual month as a start month. Last option is ShowMode.DefaultDate which shows the month stored in DefaultDate property as a first visible month.

Navigation

Multiple navigation concepts are available. For vertical scrolling the ScrollBar or NavigationBar can be displayed on the right side of calendar. You achieve this through the NavigationMode property. For navigation between months there is a dropdown button displayed that opens a new component called MonthSelector. The MonthSelector has its own branch in calendar style definition.

Selection

Multiple day selection modes are available through the SelectionMode property. SingleDay mode makes the last clicked date selected. Continuous mode enables to select the date range in a single category. Random mode allows user to select multiple dates and ranges in different categories using Ctrl and Shift keys, same as during standard Windows selection. The maximum selected day count can be defined with a MaxSelectionCount property. Selection can also be disabled at all.

A style for selected days can be defined. It has a Transparency setting, so the original day appearance may be seen even if the date is selected.

Events

Roster contains rich event model which enables you to handle a number of user actions. All calendar parts, including individual days, provide information about user mouse actions and clicks. You can also get information about selection changes, calendar navigation and resizing. The appearance of any cell can be updated during data binding using the ItemBinding event.