Skip to content
05/12/2011 / Danresa Consultoria de Informática

DayPilot Scheduler Control for ASP.NET

Fonte: http://www.codeproject.com/KB/webforms/daypilot_scheduler.aspx

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 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 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 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.

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

See Also

Minimum Setup Sample

Collapse | Copy Code
<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

Settings:

Collapse | Copy Code
Days="1"
CellDuration="60"

StartDate is set manually in the code behind:

Collapse | Copy Code
DayPilotScheduler1.StartDate = DateTime.Today;

Weekly Scheduler

Settings:

Collapse | Copy Code
Days="7"
CellDuration="1440"

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

Collapse | Copy Code
DayPilotScheduler1.StartDate = Week.FirstDayOfWeek(DateTime.Today, DayOfWeek.Monday);

Monthly Scheduler

Settings:

Collapse | Copy Code
CellDuration="1440"

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

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

Free/Busy Visualisation

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

Settings:

Collapse | Copy Code
DurationBarVisible="false"
EventBackColor="#4A71CE"

Timeline Visualisation

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

Settings:

Collapse | Copy Code
DurationBarVisible="false"
EventBackColor="#CA2A50"
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: