Click here to Skip to main content
Click here to Skip to main content

DayPilot Scheduler Control for ASP.NET

By , 16 May 2013
 

DayPilot Scheduler for ASP.NET

 Live Demos   

Features

Main features:

  • Simple and clean look
  • Multiple resources on the Y axis
  • Customizable time scale on the X axis (one cell = 1 minute, 1 hour, 1 day, 1 week ...)
  • Highlights business hours (customizable color)
  • Automatically handles concurrent events
  • Customizable event box (text, size, background color, duration bar...)
  • Customizable fonts and colors

Database connectivity:

  • DataSource and DataSourceID properties supported
  • SqlDataSource
  • XmlDataSource
  • DataTable
  • DataSet
  • ArrayList
  • and other sources...

Event handling:

  • Free time slot click event (automatic PostBack or manual JavaScript handling)
  • Calendar event click event (automatic PostBack or manual JavaScript handling)

Licensing: 

  • Open-source (Apache Software License 2.0)

Compatibility:

  • Internet Explorer 6
  • Internet Explorer 7
  • Firefox 2
  • Firefox 3
  • Opera 9
  • Safari 2
  • Safari 3
  • Google Chrome 1

Background Information

DayPilot Scheduler reuses the event arranging algorithms introduced in the DayPilot Calendar control (Outlook-like day and week view calendar/scheduler):

DayPilot Calendar Screenshot

DayPilot Calendar detects blocks of overlapping events so they could be displayed properly. The width of each event box is adjusted according to the number of concurrent events:

DayPilot Calendar Screenshot

DayPilot Scheduler uses the same arranging algorithm but the layout is different:

  • The Scheduler shows the time on the X axis.
  • Event box height is fixed.
  • Concurrent events are handled by increasing the row height, not by shrinking the event box.

DayPilot Scheduler Screenshot

This reduces the concurrency problem: The increasing number of concurrent events doesn't reduce readability.

See Also 

Minimum Setup Sample

<DayPilot:DayPilotScheduler 
  ID="DayPilotScheduler1" 
  runat="server" 
  DataSourceID="SqlDataSource1"
  DataStartField="start" 
  DataEndField="end" 
  DataTextField="name" 
  DataValueField="id" 
  DataResourceField="resource" 
  StartDate="2009-01-01"
  CellDuration="60" 
  Days="1" >
    <Resources> 
      <DayPilot:Resource Name="Room A" Value="A" /> 
      <DayPilot:Resource Name="Room B" Value="B" /> 
      <DayPilot:Resource Name="Room C" Value="C" /> 
    </Resources> 
</DayPilot:DayPilotScheduler> 

The first group properties defines the data binding:

  • DataSourceID
  • DataStartField (starting DateTime)
  • DateEndField (ending DateTime)
  • DataTextField (event text)
  • DataValueField (event id)
  • DataResourceField (resource id)

DataResourceField is important - the values from this column will be matched with the resource IDs (Resource.Value).

The second group defines the time range and scale:

  • StartDate (first visible day)
  • Days (number of visible days)
  • CellDuration (cell duration in minutes)

And finally, it's necessary to define the resources (rows):

  • Resource.Name (row name)
  • Resource.Value (row ID)

Usage Examples

Daily Scheduler 

Daily Scheduler Control for ASP.NET

Settings:

Days="1" 
CellDuration="60"

StartDate is set manually in the code behind:

DayPilotScheduler1.StartDate = DateTime.Today; 

Weekly Scheduler

Weekly Scheduler Control for ASP.NET /></a></p><p><a href=

Settings: 

Days="7"
CellDuration="1440" 

The first day of week is calculated using Week.FirstDayOfWeek helper:

DayPilotScheduler1.StartDate = Week.FirstDayOfWeek(DateTime.Today, DayOfWeek.Monday);

Monthly Scheduler 

Monthly Scheduler Control for ASP.NET

Settings:

CellDuration="1440" 

In this case, it's necessary to set the Days property manually:

DayPilotScheduler1.StartDate = 
	new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1); 
DayPilotScheduler1.Days = 
	DateTime.DaysInMonth(DateTime.Today.Year, DateTime.Today.Month); 

Free/Busy Visualisation

Scheduler Free/Busy Display in ASP.NET

This view doesn't show event name (DataTextField is bound to an empty column).

Settings:

DurationBarVisible="false"
EventBackColor="#4A71CE" 

Timeline Visualisation 

Timeline Control for ASP.NET

In the timeline view, the resources are replaced with events in the row headers. There is always just one event per row.

Settings: 

DurationBarVisible="false"
EventBackColor="#CA2A50" <span style="font-size: 9pt;"> </span>

Gantt 

Gantt Chart for ASP.NET

DayPilot Scheduler can be switched to Gantt Chart mode using a single switch:

ViewType="Gantt"

In the Gantt mode, it will display each event in a separate row. See also a detailed explanation in the Gantt Chart Tutorial [code.daypilot.org].

See Also  

DayPilot Tutorials 

History 

License

This article, along with any associated source code and files, is licensed under The Apache License, Version 2.0

About the Author

Dan Letecky
Czech Republic Czech Republic
Member
My open-source AJAX controls:
 
DayPilot
DayPilot MVC
DayPilot Java
Outlook-Like Calendar/Scheduling Controls

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
QuestionDayPilot Lite - set color per eventmemberlimem7 Jun '12 - 11:37 
AnswerRe: DayPilot Lite - set color per eventmemberDan Letecky8 Jun '12 - 1:02 
GeneralMy vote of 5membermanoj kumar choubey3 Feb '12 - 19:42 
Nice
GeneralRe: My vote of 5memberDan Letecky8 Jun '12 - 6:34 
GeneralNice librarymemberhandy_creative5 Jun '11 - 16:42 
Questionurdent replaymemberamr rabie19 Apr '11 - 18:01 
AnswerRe: urdent replaymemberDan Letecky8 Jun '12 - 6:43 
GeneralMy vote of 5mentorSandeep Mewara19 Oct '10 - 9:50 
GeneralIts great, No need of telerik schedulermemberJitendra Zaa13 May '10 - 2:22 
GeneralGreat workmembermike23155 Feb '10 - 3:43 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130523.1 | Last Updated 17 May 2013
Article Copyright 2008 by Dan Letecky
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid