Try the
online demo:
AJAX-style event creating, moving, resizing, and deleting
Context menu
Day view
Work week view
Week view
Month view
Horizontal/vertical resources view
PostBack/AJAX/JavaScript event handling
Binding to XmlDataSource, SqlDataSource, DataTable, ArrayList
Custom event formatting
UpdatePanel compatibility
HOWTO: Determine first day of week
DayPilot Pro contains a helper class that calculates the date of the first day of week from any date.
DayPilotCalendar1.StartDate = DayPilot.Utils.Week.FirstDayOfWeek();
There are several methods/signatures you can call:
- Week.FirstDayOfWeek() - first day of this week, using the current culture settings
- Week.FirstDayOfWeek(DateTime day) - first day of a week that contains the specified day, using the current culture settings
- Week.FirstDayOfWeek(DateTime day, DayOfWeek weekStarts) - first day of a week that contains a specified day, using weekStarts as the first day of week
- Week.FirstWorkingDayOfWeek(DateTime day) - first Monday of the specified week
The source code:
/// <summary>
/// Helper class for determining first day of week.
/// </summary>
public class Week
{
/// <summary>
/// Gets the first day of this week. Based on current culture.
/// </summary>
/// <returns></returns>
public static DateTime FirstDayOfWeek()
{
return FirstDayOfWeek(DateTime.Today);
}
/// <summary>
/// Gets the first day of a week where day (parameter) belongs. Based on current culture.
/// </summary>
/// <returns></returns>
public static DateTime FirstDayOfWeek(DateTime day)
{
return FirstDayOfWeek(day, Thread.CurrentThread.CurrentCulture.DateTimeFormat.FirstDayOfWeek);
}
/// <summary>
/// Gets the first day of a week where day (parameter) belongs. weekStart (parameter) specifies the starting day of week.
/// </summary>
/// <returns></returns>
public static DateTime FirstDayOfWeek(DateTime day, DayOfWeek weekStarts)
{
DateTime d = day;
while (d.DayOfWeek != weekStarts)
{
d = d.AddDays(-1);
}
return d;
}
/// <summary>
/// Returns Monday of the week where day (parameter) belongs.
/// </summary>
/// <param name="day"></param>
/// <returns></returns>
public static DateTime FirstWorkingDayOfWeek(DateTime day)
{
return FirstDayOfWeek(day, DayOfWeek.Monday);
}
}
DayPilot Pro is an advanced DayPilot edition. You can check a thumbnail overview of the most interesting features. There is also an online demo with all the features working (including the AJAX features). If you want to test the design-time support and API you can download a fully functional trial
version. And if you like it, you can buy a full version with source code and 12 months of upgrades and
support (with a 30-days money back guarantee).
DayPilot Lite is a
do-it-yourself open-source edition of DayPilot. Although it misses
some DayPilot Pro features, there are thousands of developers using it to build
calendar, personal scheduling, and resource booking applications.