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&amp;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>

(C) ComponentGo! 2010 | Home | Site map | Partners | Links | Forum | info@componentgo.com