Calendar demo
Source of:
Events.aspx
<%@ Import Namespace="ComponentGo.Web" %>
<script runat="server">
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
Calendar.EventAction.UseCallback =
Calendar.EventAppointmentDragged.UseCallback =
Calendar.EventAppointmentTextEdited.UseCallback =
Calendar.EventButtonPressed.UseCallback =
Calendar.EventFirstDateChanged.UseCallback =
Calendar.EventFirstResourceChanged.UseCallback =
Calendar.EventRefreshing.UseCallback =
CallbackCheck.Checked;
Calendar.DefaultAllDayAppointmentStyle.EventDblClick.Mode =
Calendar.DefaultAppointmentStyle.EventDblClick.Mode =
Calendar.BodyStyle.EventDblClick.Mode =
Calendar.AllDayBarStyle.EventDblClick.Mode =
CallbackCheck.Checked ? MouseEventMode.Callback : MouseEventMode.Postback;
}
string info = "";
void addLine(string line, params object[] pars) {
string div = " ";
foreach (object v in pars) {
line += div+v;
div = ", ";
}
if (IsCallback)
info += HttpUtility.HtmlEncode(line)+"<br>";
else
EventsLabel.Text += HttpUtility.HtmlEncode(line)+"<br>";
}
protected void Calendar_AppointmentChanged(object sender, AppointmentChangedEventArgs e) {
addLine("AppointmentChanged", e.Appointment.AppointmentId, e.Reason);
}
protected void Calendar_AppointmentClick(object sender, AppointmentEventArgs e) {
addLine("AppointmentClick", e.Appointment.AppointmentId, e.Appointment.Start, e.Appointment.End);
}
protected void Calendar_AppointmentDragged(object sender, AppointmentDraggedEventArgs e) {
addLine("AppointmentDragged", e.Appointment.AppointmentId, e.Reason, e.Start, e.End, e.ResourceIndex);
}
protected void Calendar_CellClick(object sender, CellClickEventArgs e) {
addLine("CellClick", e.DateTime, e.ResourceIndex, e.AllDay);
}
protected void Calendar_FirstDateChanged(object sender, EventArgs e) {
addLine("FirstDateChanged", Calendar.FirstDate.ToString("d"));
}
protected void Calendar_DataRetrieving(object sender, EventArgs e) {
addLine("DataRetrieving");
}
protected void Calendar_AppointmentTextEdited(object sender, AppointmentEditEventArgs e) {
addLine("AppointmentTextEdited", e.Appointment.AppointmentId, e.Text);
}
protected void Calendar_ButtonPressed(object sender, ButtonPressedEventArgs e) {
addLine("ButtonPressed", e.Button);
}
protected void Calendar_CallbackScript(object sender, ComponentGo.Web.CallbackScriptEventArgs e) {
//
// Ensures the DataRetrieving event will be invoked prior to CallbackScript if needed.
//
Calendar.Appointments.ToArray();
e.ClientScript.AppendFormat("document.getElementById('{0}').innerHTML += '{1}'",
EventsLabel.ClientID, info);
}
</script>
<table width="100%">
<tr>
<td>
<goc:DailyCalendar ID="Calendar" runat="server" BorderColor="Black" Font-Names="Verdana" VisibleDays="2"
Font-Size="Small" Height="348px" Width="500px" OnAppointmentChanged="Calendar_AppointmentChanged"
OnAppointmentClick="Calendar_AppointmentClick" OnAppointmentDragged="Calendar_AppointmentDragged"
OnCellClick="Calendar_CellClick" OnButtonPressed="Calendar_ButtonPressed"
OnFirstDateChanged="Calendar_FirstDateChanged" OnCallbackScript="Calendar_CallbackScript"
OnDataRetrieving="Calendar_DataRetrieving" OnAppointmentTextEdited="Calendar_AppointmentTextEdited">
<DateBarStyle Font-Bold="False" Font-Italic="False" HorizontalAlign="Center" ResourceImage="Gray" />
<AllDayBarStyle BackColor="DarkGray" />
<DefaultAllDayAppointmentStyle BackColor="White" />
<ResourceBarStyle Font-Bold="False" Font-Italic="False" Font-Size="X-Small" HorizontalAlign="Center"
ResourceImage="Blue" />
<HoursBarStyle BackColor="WhiteSmoke" Font-Names="Arial" Font-Size="Small" />
<DefaultAppointmentStyle BackColor="White" Font-Size="X-Small" />
<PreviousDayButton>
</PreviousDayButton>
<NextDayButton>
</NextDayButton>
</goc:DailyCalendar>
</td>
<td valign="top">
There are many server events allowing to program a calendar: drag&drop, double
click cell or appointment, change date, etc.<br />
Example also demonstrates how to use <strong>CallbackScript</strong> event to emit
client Java Script code ran on web browser in order to callback request.<br />
<br />
<asp:CheckBox ID="CallbackCheck" runat="server" Checked="True" Text="Use callback to the server"
AutoPostBack="True" ToolTip="Defines how a server will be called, by postback or by callback." /><br />
<br />
<asp:Label ID="EventsLabel" runat="server" Font-Size="X-Small"></asp:Label>
</td>
</tr>
</table>