Tutorial:
Features:
Sample source code of the Png.aspx file that returns the calendar image PNG file (C#):
public partial class _Png : System.Web.UI.Page
{
DayPilotCalendar DayPilotCalendar1 = new DayPilotCalendar();
protected void Page_Load(object sender, EventArgs e)
{
DayPilotCalendar1.ViewType = ViewTypeEnum.Week;
DayPilotCalendar1.StartDate = Convert.ToDateTime(Request.QueryString["start"]);
SetDataSourceAndBind();
ExportToPng();
}
private void SetDataSourceAndBind()
{
DayPilotCalendar1.DataSource = GetData(DayPilotCalendar1.StartDate, DayPilotCalendar1.EndDate);
DayPilotCalendar1.DataStartField = "eventstart";
DayPilotCalendar1.DataEndField = "eventend";
DayPilotCalendar1.DataIdField = "id";
DayPilotCalendar1.DataTextField = "name";
DayPilotCalendar1.DataBind();
}
private DataTable GetData(DateTime start, DateTime end)
{
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM [event] WHERE NOT (([eventend] <= @start) OR ([eventstart] >= @end))", ConfigurationManager.ConnectionStrings["daypilot"].ConnectionString);
da.SelectCommand.Parameters.AddWithValue("start", start);
da.SelectCommand.Parameters.AddWithValue("end", end);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
private void ExportToPng()
{
SetDataSourceAndBind();
SetExportProperties();
int scroll = Convert.ToInt32(Request.QueryString["scroll"]);
Response.Clear();
Response.ContentType = "image/png";
MemoryStream img = DayPilotCalendar1.Export(ImageFormat.Png, scroll);
img.WriteTo(Response.OutputStream);
Response.End();
}
private void SetExportProperties()
{
// match the theme
DayPilotCalendar1.HourNameBackColor = ColorTranslator.FromHtml("#eee");
DayPilotCalendar1.BackColor = Color.White;
DayPilotCalendar1.NonBusinessBackColor = Color.White;
DayPilotCalendar1.BorderColor = ColorTranslator.FromHtml("#999");
DayPilotCalendar1.HeaderFontColor = ColorTranslator.FromHtml("#666");
DayPilotCalendar1.CellBorderColor = ColorTranslator.FromHtml("#eee");
DayPilotCalendar1.EventFontColor = ColorTranslator.FromHtml("#666");
DayPilotCalendar1.EventCorners = CornerShape.Rounded;
DayPilotCalendar1.EventFontSize = "10pt";
DayPilotCalendar1.EventBorderColor = ColorTranslator.FromHtml("#999");
DayPilotCalendar1.EventBackColor = ColorTranslator.FromHtml("#fafafa");
DayPilotCalendar1.HourBorderColor = ColorTranslator.FromHtml("#eee");
DayPilotCalendar1.HourHalfBorderColor = ColorTranslator.FromHtml("#eee");
DayPilotCalendar1.DurationBarVisible = false;
}The full source code of the sample application is available for download.