Calendar

The Calendar is a widget that displays a calendar and allows an end user to select the required date within a specified date range.

Included in: dx.mobile.js, dx.web.js, dx.viz-web.js, dx.all.js
Module: ui/calendar
Export: default
Calendar interactive configuration
Copy Code
Copy to Codepen
$("#calendar").dxCalendar({
});

                    

You can create the widget using one of the following approaches.

  • jQuery

    HTML
    JavaScript
    <div id="calendar"></div>
    $(function () {
        $("#calendar").dxCalendar({
            min: new Date(2000, 1, 1),
            max: new Date(2029, 12, 31),
            firstDayOfWeek: 1,
            value: new Date()
        });
    });
  • Angular

    HTML
    JavaScript
    <dx-calendar
        [min]="minDate"
        [max]="maxDate"
        [firstDayOfWeek]="1"
        [(value)]="currentDate">
    </dx-calendar>
    export class AppComponent {
        minDate = new Date(2000, 0, 1);
        maxDate = new Date(2029, 11, 31);
        currentDate = new Date();
    }
  • AngularJS

    HTML
    JavaScript
    <div ng-controller="DemoController">
        <div dx-calendar="{
            min: minDate,
            max: maxDate,
            firstDayOfWeek: 1,
            bindingOptions: {
                value: 'currentDate'
            }
        }"></div>
    </div>
    angular.module('DemoApp', ['dx'])
        .controller("DemoController", function ($scope) {
            $scope.minDate = new Date(2000, 0, 1);
            $scope.maxDate = new Date(2029, 11, 31);
            $scope.currentDate = new Date();
        });
  • Knockout

    HTML
    JavaScript
    <div data-bind="dxCalendar: {
        min: new Date(2000, 1, 1),
        max: new Date(2029, 12, 31),
        firstDayOfWeek: 1,
        value: currentDate
    }"></div>
    var viewModel = {
        currentDate: ko.observable(new Date())
    };
    ko.applyBindings(viewModel);
  • ASP.NET MVC Wrappers

    Razor C#
    Razor VB
    @(Html.DevExtreme().Calendar()
        .ID("calendar")
        .Min(new DateTime(2000, 1, 1))
        .Max(new DateTime(2029, 12, 31))
        .FirstDayOfWeek(FirstDayOfWeek.Monday)
        .Value(DateTime.Now)
    )
    @(Html.DevExtreme().Calendar() _
        .ID("calendar") _
        .Min(New DateTime(2000, 1, 1)) _
        .Max(New DateTime(2029, 12, 31)) _
        .FirstDayOfWeek(FirstDayOfWeek.Monday) _
        .Value(DateTime.Now)
    )

Note that DevExtreme widgets require you to link the jQuery library to your application. If you use the Knockout or AngularJS approach, the Knockout or AngularJS library is also required. For detailed information on linking these libraries to your project, refer to the topics in the Installation section.

View Demo Watch Video

See Also

Configuration

An object defining configuration options for the Calendar widget.

Name Description
accessKey

Specifies a shortcut key that sets focus on the widget element.

activeStateEnabled

A Boolean value specifying whether or not the widget changes its state when interacting with a user.

cellTemplate

The template to be used for rendering calendar cells.

dateSerializationFormat

Specifies the serialization format for a date-time value.

disabled

A Boolean value specifying whether or not the widget can respond to user interaction.

elementAttr

Specifies the attributes to be attached to the widget's root element.

firstDayOfWeek

Specifies the first day of a week.

focusStateEnabled

Specifies whether or not the widget can be focused.

height

Specifies the height of the widget.

hint

Specifies the text of the hint displayed for the widget.

hoverStateEnabled

A Boolean value specifying whether or not the widget changes its state when being hovered by an end user.

isValid

Specifies whether the editor's value is valid.

max

The latest date the widget allows to select.

maxZoomLevel

Specifies the maximum zoom level of the calendar.

min

The earliest date the widget allows to select.

minZoomLevel

Specifies the minimum zoom level of the calendar.

name

The value to be assigned to the name attribute of the underlying HTML element.

onDisposing

A handler for the disposing event.

onInitialized

A handler for the initialized event. Executed only once, after the widget is initialized.

onOptionChanged

A handler for the optionChanged event.

onValueChanged

A handler for the valueChanged event.

readOnly

A Boolean value specifying whether or not the widget is read-only.

rtlEnabled

Specifies whether or not the current component supports a right-to-left representation.

showTodayButton

Specifies whether or not the widget displays a button that selects the current date.

tabIndex

Specifies the widget tab index.

validationError

Holds the object that defines the error that occurred during validation.

validationMessageMode

Specifies how the message about the validation rules that are not satisfied by this editor's value is displayed.

value

An object or a value specifying the date and time currently selected in the calendar.

visible

A Boolean value specifying whether or not the widget is visible.

width

Specifies the width of the widget.

zoomLevel

Specifies the current calendar zoom level.

Methods

This section describes members used to manipulate the widget.

Name Description
beginUpdate()

Prevents the component from refreshing until the endUpdate() method is called.

defaultOptions(rule)

Specifies the device-dependent default configuration options for this component.

element()

Returns the root HTML element of the widget.

endUpdate()

Enables the component to refresh after the beginUpdate() method call.

focus()

Sets focus on the widget.

instance()

Returns an instance of this component class.

off(eventName)

Detaches all event handlers from the specified event.

off(eventName, eventHandler)

Detaches a particular event handler from the specified event.

on(eventName, eventHandler)

Subscribes to a specified event.

on(events)

Subscribes to the specified events.

option()

Returns the configuration options of this component.

option(optionName)

Gets the value of the specified configuration option of this component.

option(optionName, optionValue)

Sets a value to the specified configuration option of this component.

option(options)

Sets one or more options of this component.

registerKeyHandler(key, handler)

Registers a handler when a specified key is pressed.

repaint()

Redraws the widget.

reset()

Resets the editor's value to undefined.

Events

This section describes events fired by this widget.

Name Description
disposing

Fires when the widget is being removed.

initialized

Raised only once, after the widget is initialized.

optionChanged

Fires after an option of the component is changed.

valueChanged

Fires when the editor value changes.

Default Cell Template

This section lists the fields that are used in a default template for calendar cells.

By default, a predefined cell template is applied to display calendar cells. This template is based on certain fields of an object holding cell information. Below is the list of these fields. If the default cell template is not appropriate for your task, implement a custom cell template based on these fields.

See Also