Back to Devexpress

ASPxCalendar.CustomDisabledDate Event

aspnet-devexpress-dot-web-dot-aspxcalendar-fc78ad66.md

latest4.9 KB
Original Source

ASPxCalendar.CustomDisabledDate Event

Allows you to disable the calendar’s days.

Namespace : DevExpress.Web

Assembly : DevExpress.Web.v25.2.dll

NuGet Package : DevExpress.Web

Declaration

csharp
public event EventHandler<CalendarCustomDisabledDateEventArgs> CustomDisabledDate
vb
Public Event CustomDisabledDate As EventHandler(Of CalendarCustomDisabledDateEventArgs)

Event Data

The CustomDisabledDate event's data class is CalendarCustomDisabledDateEventArgs. The following properties provide information specific to this event:

PropertyDescription
DateGets the currently processed date.
IsDisabledSpecifies whether the processed date is disabled for selection.

Remarks

The CustomDisabledDate event is raised on the server side each time a day cell needs to be rendered within the calendar. You can use the CalendarCustomDisabledDateEventArgs.Date event argument property to determine the currently processed day. The CalendarCustomDisabledDateEventArgs.IsDisabled property allows you to specify the date avalability for the selection.

Additionally, you can use the ASPxClientCalendar.CustomDisabledDate event to disable dates on the client side. The ASPxCalendar.DisabledDates property allows you to specify a collection of dates to be disabled in a calendar control.

The CustomDisabledDate event handlers affect the manner in which the calendar is updated (navigates to another month/year).

  • When only the client-side ASPxClientCalendar.CustomDisabledDate event is handled, the calendar operates on the client side.
  • When only the server-side CustomDisabledDate event is handled, the manner in which the calendar is updated depends upon the ASPxEdit.AutoPostBack property setting. If the ASPxEdit.AutoPostBack property is set to true, the calendar initiates a postback to the server; otherwise, it’s updated using callback technology.
  • When both events are handled, the calendar operates on the client side. However, for the calendar to work properly, you should provide equivalent logic in both the client and server-side event handlers.

Note that the CustomDisabledDate event works only on callbacks. If the CustomDisabledDate event is handled, place the calendar in the separate Partial View and specify the calendar’s CallbackRouteValues property.

Example

In this code sample, the ASPxCalendar control uses the client-side ASPxClientCalendar.CustomDisabledDate and server-side ASPxCalendar.CustomDisabledDate events to disable all dates that fall on a Wednesday.

The image below shows the result.

csharp
protected void ASPxCalendar1_CustomDisabledDate(object sender, CalendarCustomDisabledDateEventArgs e) {
     if(e.Date.DayOfWeek == DayOfWeek.Wednesday)
          e.IsDisabled = true;
}
vb
Protected Sub ASPxCalendar1_CustomDisabledDate(ByVal sender As Object, ByVal e As CalendarCustomDisabledDateEventArgs)
     If e.Date.DayOfWeek = DayOfWeek.Wednesday Then
          e.IsDisabled = True
     End If
End Sub
javascript
function onCustomDisabledDate(s, e) {
     if(e.date.getDay() == 3)
          e.isDisabled = true;
}
aspx
<dx:ASPxCalendar ID="ASPxCalendar1" runat="server" OnCustomDisabledDate="ASPxCalendar1_CustomDisabledDate">
     <ClientSideEvents CustomDisabledDate="onCustomDisabledDate" />
</dx:ASPxCalendar>

See Also

Calendar

CustomDisabledDate

DisabledDates

ASPxCalendar Class

ASPxCalendar Members

DevExpress.Web Namespace